我正在创建一个现有生产站点的测试版本。站点中存在一个虚拟web服务应用程序,并且这两个web配置具有相同的连接字符串。
生产web配置中没有"清晰"的标签,网站和web服务愉快地共存于两个独立的应用程序池中。
然而,在测试站点上,每次我浏览到Web服务URL时,我都会收到配置错误"条目'ConnectionString'已经添加。"
测试站点和相应的虚拟应用程序使用各自独立的应用程序池。有什么想法吗?
谢谢Jim
Web.config继承即使在不同的appPools之间也会发生。如果要停止此行为,应将属性enableConfigurationOverride="false"
添加到applicationHost.config文件(位于%WINDIR%\System32\inetsrv\config和%WINDIR%%\SysWOW64\inetsrv\config中)中的appPool中,如下例所示:
<add name="MyAppPool" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" enableConfigurationOverride="false">
<processModel identityType="NetworkService" />
</add>
Matteo
我认为问题与它们是一个站点中的另一个站点有关。就像一个内部有虚拟目录的网站。
在这种情况下。。。虚拟目录web.config正在"继承"父web.config
在这里你可以看到如何解决这个问题的细节:如何停止<configSections>在Web中。配置
其他选项:https://stackoverflow.com/a/367372/7720
如果问题出现在web.config的其他部分(而不是部分),则可以使用<location path="." inheritInChildApplications="false">
包装冲突部分。
另一种选择是让网络服务从网站上获取连接。