【问题标题】:web.config - how to prevent all inheritanceweb.config - 如何防止所有继承
【发布时间】:2011-09-11 21:01:05
【问题描述】:

我们在 / 中的服务器上有一个应用程序作为根应用程序。

我们在 /lite/ 虚拟根目录中设置了另一个应用程序作为它自己的应用程序。

两者都使用 EnterpriseLibrary,但显然 /lite/ 版本有不同的设置。

问题是它想从“父”应用程序的 web.config 中继承各种东西。

请注意,在某些服务器上,很可能只有 /lite/ 将存在,因此我们不能依赖于能够继承,因为父 web.config 可能并不总是存在。

我找到了使用 <location><remove> 的参考资料,但我们并没有取得很大的成功,因为有很多不同的事情要做。

有没有一种简单的方法可以让虚拟根从“父”web.config 中独立出来?

【问题讨论】:

  • 尝试在 IIS 中将 lite 配置为不同的应用程序?
  • @naveen,它是一个单独的应用程序。

标签: asp.net inheritance web-config


【解决方案1】:

尝试设置您的根应用程序的 web.config 的 inheritInChildApplications 属性:

<location path="." inheritInChildApplications="false">
    <system.web>
     ...
    </system.web>
</location>

【讨论】:

    【解决方案2】:

    编辑 applicationHost.config 文件 (%WINDIR%\System32\inetsrv\Config) 并将属性 enableConfigurationOverride="false" 添加到您的子应用程序池设置:

    <add name="ChildAppPool" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" enableConfigurationOverride="false">
        <processModel identityType="NetworkService" />
    </add>
    

    【讨论】:

      猜你喜欢
      • 2010-10-27
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 2012-08-30
      • 2010-12-07
      • 1970-01-01
      相关资源
      最近更新 更多