Combres.axd在WebForms应用程序中返回404

时间:2011-09-23 22:05:21

标签: asp.net routing webforms combres

我有2个ASP.NET应用程序,1个WebForms和1个MVC。在IIS Express本地工作时,Combres的工作效果非常好。将两个应用程序部署到测试服务器(IIS 7,两个应用程序都在IIS中的同一个网站)后,WebForms应用程序页面中引用的combres.axd链接返回404,而MVC应用程序正常工作。

我也将WebForms应用程序连接到我的本地IIS,它再次正常工作。

我查看了本地IIS,MVC应用程序和WebForms应用程序之间的模块和处理程序,路由注册看起来是一样的。

如果我设置defaultDebugEnabled =“true”,那么它会为资源集中的每个脚本生成一个脚本标记,并且工作正常。

如何从combres.axd调试404?

1 个答案:

答案 0 :(得分:3)

将其跟踪到web.config中的模块配置:

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

我正在使用围绕.NET 3.0 / 3.5创建的遗留WebForms应用程序,因此我没有设置runAllManagedModulesForAllRequests属性。我在最新的Visual Studio 2010 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