我在Global.asax中有以下代码,在带有webforms的网站项目中,而不是MVC应用程序:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("Documents", "documents/{document-id}/", "~/GetDocument.aspx");
}
路由映射在运行IIS Express的开发环境中正常工作,但在生产环境中它返回404错误。
服务器运行IIS 7并且具有几乎相同的web.config文件。我无法识别dev web.config和可能是原因的生产之间的任何变化。
为什么我的路由映射在我的开发环境中工作,而不是在我的生产环境中?
答案 0 :(得分:1)
您是否尝试在web.config中指定runAllManagedModulesForAllRequests =“true?
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
StackOverflow中存在与此相关的现有查询: (1)IIS 7 ignores MapPageRoute without file extentions (2)Why is MapPageRoute / RedirectToRoute working on dev machine but not on production server?