【问题标题】:How do I set a single virtual directory of my web app to not inherit web.config?如何将我的 Web 应用程序的单个虚拟目录设置为不继承 web.config?
【发布时间】:2010-05-26 15:24:31
【问题描述】:

我的一个 Web 应用程序中有一个虚拟目录设置,不需要继承主应用程序的 web.config,因此它可以自己运行。我想知道我该怎么做,因为现在当我点击它(mainwebapp.domain.com/virdir)时,它会抛出一个错误,说它找不到主应用程序 web.config 中列出的一些依赖项(显示主应用程序web.config 在错误消息中),这个 virdir 包含它自己的小应用程序,只需要独立运行。

这里是问题区域:

Line 143:      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
Line 144:      <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 145:      <add verb="*" path="weborb.aspx" type="Weborb.ORBHttpHandler" />
Line 146:      <add verb="*" path="codegen.aspx" type="Weborb.Management.CodeGen.CodegeneratorHttpHandler" />
Line 147:     <!--elm <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> elm-->

错误出现在第 145 行:“无法加载类型 'Weborb.ORBHttpHandler'。” (这是显示错误的父 web.config,我不想修改)...

如果我将 &lt;clear/&gt; 添加到子 web.config 中同一块的顶部,那么我会得到:

“没有找到请求类型'GET'的http处理程序”

【问题讨论】:

    标签: asp.net iis-6 web-config


    【解决方案1】:

    在你的情况下,你想使用remove(把它放在第一位)

      <remove verb="POST,GET,HEAD" path="elmah.axd" />
    

    其他选项:

    如果您可以更改您的主应用,请执行以下操作。

     <location path="." inheritInChildApplications="false">
         <!-- settings --> 
      </location>
    

    如果您想覆盖继承的内容,通常可以使用(例如来自子 web.config 的简介

    <compilation debug="true">
            <assemblies>
                <clear/>
                <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>
    

    MSDN Guide 关于 Web.Config 继承。

    【讨论】:

    • 我不希望所有的子应用都不能继承,只是这一个......这有意义吗?
    • 你基本上是在说,我希望每个人都继承,除了这个目录?您可以更新以上内容并显示问题部分吗?
    • 您最终将只使用 clear,用于您想要覆盖的部分。我用上面的例子更新了。
    • 我将 添加到您指定的子目录 web.config 中,但这没有任何改变。
    • 看我上面的帖子,我假设你试图摆脱 path="elmah.axd",如果你想删除其他东西,就把它放在那里。
    猜你喜欢
    • 2011-09-06
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多