我有2个ASP.NET应用,1个WebForms和1个MVC。当在IIS Express上本地工作时,Combres对两者都很好地工作。在将两个应用程序部署到测试服务器(IIS7,两个应用程序在IIS中位于同一网站)之后,WebForms应用程序页面中引用的combres.axd链接返回404,而MVC应用程序工作正常。
我也将WebForms应用程序连接到我本地的IIS上,它再次工作正常。
我查看了本地IIS、MVC应用程序和WebForms应用程序之间的模块和处理程序,发现路由注册似乎是相同的。
如果我将defaultDebugEnabled=设置为“true”,那么它将为资源集中的每个脚本生成一个脚本标记,并且运行良好。
有什么办法从combres.axd调试404吗?
发布于 2011-10-05 01:56:18
追踪到web.config中的模块配置:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>我使用的是一个在.NET 3.0/3.5左右创建的遗留WebForms应用程序,因此我没有设置runAllManagedModulesForAllRequests属性。我在最新的Visual Studio2010 ASP.NET WebForms模板中看到,这现在是默认的。
我还发现了一个post,它建议使用一种不那么暴力的方法来让UrlRoutingModule捕获combres.axd路由。
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
</system.webServer>其中一个评论提到了这个更新,但我还没有测试过它:
http://support.microsoft.com/kb/980368
https://stackoverflow.com/questions/7535333
复制相似问题