我阅读了很多关于它的文章并进行了测试,但我的问题仍然没有得到解决
我使用UrlRoutingModule
来拥有友好的网址
在global.asax.cs
:
routes.MapPageRoute("", "HOME", "~/Default.aspx");
在web.config中:
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>`
在IIS中,应用程序池处于经典模式
测试以下解决方案:
<modules runAllManagedModulesForAllRequests="true">
<validation validateIntegratedModeConfiguration="false" />
<remove name="UrlRoutingModule"/>
路由处理扩展的网址,例如,当我将global.asax.cs
中的路由规则更改为
routes.MapPageRoute("", "HOME.aspx", "~/Default.aspx");
网址“mysite / HOME.aspx”正常工作
这种情况,确切地说这个配置正在另外两台服务器上运行!
在此服务器上,路由由set application pool工作到integrated mode
+ <validation validateIntegratedModeConfiguration="false" />
答案 0 :(得分:1)
这是在黑暗中的一点点,因为你提到这个配置在某些服务器上工作但在其他服务器上工作。
正如this post中所述,Microsoft有released a hotfix for的错误,您可能需要检查服务器以查看它们是否已针对KB980368进行了一致修补。
正如文章所指出的那样,问题只适用于.NET 4.0。由于您(显然)使用的是.NET 3.5,因此您可能需要仔细检查应用程序池配置,以确保它们始终设置为.NET 2.0和web.config settings to ensure you are targeting .NET 3.5。
请注意Microsoft officially ended support for .NET 4.0 on January 12, 2016,但对.NET 3.5 SP1的支持将继续,直到您托管它的操作系统的支持结束。