RouteMapping在开发服务器上运行,但在生产中导致404

时间:2013-11-14 09:37:09

标签: c# asp.net webforms

我在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和可能是原因的生产之间的任何变化。

为什么我的路由映射在我的开发环境中工作,而不是在我的生产环境中?

1 个答案:

答案 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?