生产环境中的ASP.NET路由

时间:2011-10-04 16:50:20

标签: iis-7 url-routing asp.net-routing

我已在RouteTable.Routes注册了自定义的asp.net路由。

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调试环境相比,是否有任何必须完成的特定配置才能使ASP.NET 4路由工作?

1 个答案:

答案 0 :(得分:0)

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

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

在Visual Studio环境中,即使没有web.config中的this指令,也不需要进行路由。