我正在创建现有生产站点的测试版本。站点内部存在虚拟Web服务应用程序 - 两个Web配置具有相同的连接字符串。
没有"清楚"生产Web配置中的标签以及站点和Web服务在两个独立的应用程序池上共存。
但是,在测试网站上,每次浏览到Web服务URL时,我都会收到配置错误"条目' ConnectionString'已被添加。"
测试站点和相应的虚拟应用程序使用自己独立的应用程序池。有什么想法吗?
由于 吉姆
答案 0 :(得分:15)
即使在不同的appPools之间也会发生Web.config继承。
如果要停止此行为,则应将属性enableConfigurationOverride="false"
添加到applicationHost.config文件中的appPool(位于%WINDIR%\ System32 \ inetsrv \ Config和%WINDIR%\ SysWOW64 \ inetsrv \ config中)如下例所示:
<add name="MyAppPool" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" enableConfigurationOverride="false">
<processModel identityType="NetworkService" />
</add>
利玛
答案 1 :(得分:1)
我认为问题与他们是另一个网站有关。就像里面有虚拟目录的网站一样。
在这种情况下......虚拟目录web.config是&#34;继承&#34;父web.config
您可以在此处查看如何解决此问题的详细信息:How to stop inheritance of <configSections>in Web.Config
其他选项:https://stackoverflow.com/a/367372/7720
如果问题出在web.config的其他部分(不在部分中),则可以使用<location path="." inheritInChildApplications="false">
包装冲突部分。
其他选项可以让网络服务从网站上获取连接。