Asp.net 运行ColdFusion和.Net的IIS服务器上出现WebResource.axd错误

Asp.net 运行ColdFusion和.Net的IIS服务器上出现WebResource.axd错误,asp.net,Asp.net,在开始之前,我遵循了以下建议: 我用theren的建议解决了我过去在不同服务器上运行MVC4应用程序时遇到的类似问题 我正在尝试将我们的一个网站升级到.NET4.0,因为我想将其转换为MVC4应用程序。我正计划*零零碎碎地做这件事,并且花了很多时间研究了旧的基于表单的网站项目中的所有对象,并对它们进行了设置,以便它们能够在.NET4框架上成功运行,作为目前混合网站的一部分。这主要涉及将类从App_代码文件夹中移出并放入常规文件夹,并将它们标记为要复制/编译 现在我有一个新问题。当我转到试图调用嵌

在开始之前,我遵循了以下建议:

我用theren的建议解决了我过去在不同服务器上运行MVC4应用程序时遇到的类似问题

我正在尝试将我们的一个网站升级到.NET4.0,因为我想将其转换为MVC4应用程序。我正计划*零零碎碎地做这件事,并且花了很多时间研究了旧的基于表单的网站项目中的所有对象,并对它们进行了设置,以便它们能够在.NET4框架上成功运行,作为目前混合网站的一部分。这主要涉及将类从App_代码文件夹中移出并放入常规文件夹,并将它们标记为要复制/编译

现在我有一个新问题。当我转到试图调用嵌入式资源的页面时,会出现WebResource.axd错误:

The WebResource.axd handler must be registered in the configuration to process this request.
堆栈跟踪:

    [InvalidOperationException: The WebResource.axd handler must be registered in the configuration to process this request.

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <httpHandlers>
            <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />
        </httpHandlers>
    </system.web>
</configuration>]
   System.Web.Handlers.AssemblyResourceLoader.GetWebResourceUrlInternal(Assembly assembly, String resourceName, Boolean htmlEncoded, Boolean forSubstitution, IScriptManager scriptManager) +4179118
   System.Web.Handlers.AssemblyResourceLoader.GetWebResourceUrl(Type type, String resourceName, Boolean htmlEncoded, IScriptManager scriptManager) +956
   System.Web.UI.ClientScriptManager.RenderWebFormsScript(HtmlTextWriter writer) +257
   System.Web.UI.Page.RenderWebFormsScript(HtmlTextWriter writer) +86
   System.Web.UI.Page.BeginFormRender(HtmlTextWriter writer, String formUniqueID) +1847
   System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +95
   System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +48
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +11423020
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +246
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +11423020
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +246
   System.Web.UI.Page.Render(HtmlTextWriter writer) +40
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +11423020
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5290
LIS我已经在另一个MVC4站点上看到并修复了这个错误,我从头开始编写。之所以会发生这种情况,是因为ColdFusion也安装在服务器上,并且是托管ColdFusion和.Net应用程序的IIS服务器的一个已知问题。因此,我遵循了这里的建议:

我将该站点配置为在经典模式下运行,效果良好

但这次不同了。我尝试将应用程序池设置为经典模式。我们的管理员为我这样设置,但后来我遇到了404/500错误。然后他们启用了ISAPI和CGI,这让我回到了上面的WebResource.axd错误,这次是在经典模式下运行

所以我在上面的链接中尝试了其他一些建议。具体而言,我遵循了以下建议:

要执行此操作,请转到IIS中有问题的站点,双击IIS部分下的处理程序映射,并找到名为AboMapperCustom-XXXXXX和*的处理程序作为路径。选择条目并单击侧栏中的“删除”。这只会删除应用程序的映射,因此不会破坏服务器上的任何现有CF站点

当我请求我们的管理员这样做时,我收到了以下回复:

AboMapperCustom-94661*处理程序来自父站点,但已在各个站点的web.config中删除-我无法从默认/父站点中删除它们,因为它确实会破坏ColdFusion

我在这里也尝试过该解决方案,web.config中的httpHandlers部分如下所示:

<system.web>
   ...
   <httpHandlers>
     <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
     <add path="*/ext.axd" verb="*" type="Ext.Net.ResourceHandler" validate="false" />
     <add path="glimpse.axd" verb="GET,POST" type="Glimpse.Core.Handler" />
   </httpHandlers>
我的问题很大一部分是我没有IIS服务器的管理员权限,所以我不能自己进去解决这个问题。我正在摸索下一步该做什么,似乎我有几个选择:

设置一个错误处理程序来捕获此错误,并重定向到正在构建的页面,直到该页面为新站点重写为止。这是可能的,但并不理想。 不知何故,我设置了一个过滤器,在Coldfusion映射只是一个模糊的概念之前拾取axd请求,我不知道如果没有进一步的研究,它将如何/为什么工作。 提出另一个由管理员运行的配置请求,可能会解决此问题。
有人有任何与3相关的想法来解决我的问题吗?如果没有,我可能会在最终选择方案1之前对方案2和方案3进行几个小时的研究。解决这个问题的最佳方法是什么?

我找到了解决问题的方法

看完报纸后

我找到了那部分

当我向我的HttpHandler添加remove时,如下所示:

<httpHandlers>
      <remove path="WebResource.axd" verb="GET"/>
      <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true" />
它起作用了