Что не так с моими.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">
Если это решило проблему, вы можете прочитать этот ресурс, почему бы не сделать это:)