Что не так с моими.net маршрутами?

Я следовал нескольким учебным пособиям в Интернете, и все они, кажется, показывают ту же логику для маршрутизации.net с использованием веб-форм ASP.net. Когда я выполняю URL ниже, я получаю ошибку 404. Test.aspx находится в корневой папке этого приложения.

http://www.mydomain.com/member/abc

Вот мое содержимое global.asax:


<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>

<script runat="server">

    void RegisterRoutes(RouteCollection routes)
    {
        routes.MapPageRoute(
            "TestABC",
            "member/{name}",
            "~/Test.aspx");
    }               

    void Application_Start(object sender, EventArgs e) 
    {
        RegisterRoutes(RouteTable.Routes);
    }

    void Application_End(object sender, EventArgs e) 
    {
        //  Code that runs on application shutdown

    }

    void Application_Error(object sender, EventArgs e) 
    {

    }

    void Session_Start(object sender, EventArgs e) 
    {
        // Code that runs when a new session is started

    }

    void Session_End(object sender, EventArgs e) 
    {
        // Code that runs when a session ends. 
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer 
        // or SQLServer, the event is not raised.

    }

</script>

Есть ли что-то, что мне нужно сделать с моим файлом web.config?

Любая помощь с благодарностью.

1 ответ

Решение

Я предполагаю, что ваш модуль маршрутизации не срабатывает, когда вы попадаете на сервер iis. В качестве теста, чтобы убедиться, что это является причиной: измените ваш webconfig для запуска всех управляемых модулей по запросу. Вам нужно установить это:

<modules runAllManagedModulesForAllRequests="true">

Если это решило проблему, вы можете прочитать этот ресурс, почему бы не сделать это:)

Другие вопросы по тегам