0

我已经在RouteTable.Routes.

routes.MapPageRoute(
            "View Service",                    
            "home/services/{*ServiceName}", 
            "~/home/displayservice.aspx"   
        );

我的应用程序使用 ASP.NET 4.0 路由系统,在开发机器上一切正常,当我从 Visual Studio 运行网站进行调试时。

当我将站点移动到 IIS7 时,导航到时不会发生路由

http://new.komplus.ua/home/services/viruses/antivirus/

或应该由路由系统处理的任何其他路径。结果,我从服务器收到 404 错误。

我确定我已将 global.asax 和 复制/home/displayservice.aspx到 Web 服务器,并在更新后重新启动了网站和应用程序池,但路由仍然没有发生。

其他非路由页面,加载正常。

与 VS2010 调试环境相比,是否需要对 IIS 进行任何特定配置才能使 ASP.NET 4 路由正常工作?

4

1 回答 1

0

为了让 ASP.NET 4.0 路由在 IIS7 中工作,需要在 web.config 中清除 webServer 元素。例如:

<system.webServer>     
  <modules runAllManagedModulesForAllRequests="true">     
   </modules>     
</system.webServer> 

这不是 Visual Studio 环境中的要求,即使在 web.config 中没有此指令,也会发生路由。

于 2011-10-05T15:53:25.423 回答