我已在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路由工作?
答案 0 :(得分:0)
为了使ASP.NET 4.0路由在IIS7中工作,需要web.config将webServer元素解除。例如:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
在Visual Studio环境中,即使没有web.config中的this指令,也不需要进行路由。