web.config和app.config混淆
问题描述:
我有一个引用Web服务的DLL。web.config和app.config混淆
它已经投入的app.config的块(我已经改变了名字,但你的想法):
<applicationSettings>
<DLLName.My.MySettings>
<setting name="DLLName_WebReferenceName_ASMXName"
serializeAs="String">
<value>http://URL/Filename.asmx</value>
</setting>
</DLLName.My.MySettings>
</applicationSettings>
我的网站引用该DLL。
问题是,什么我添加到web.config覆盖上述设置(另外,我只是把app.config放在BIN目录中)?
我需要能够覆盖生产服务器上的web服务的URL,因为它无法到达app.config中指定的URL(这是我们不会涉及的另一个问题)。
答
在configSections中创建一个名为applicationSettings的新节,并将app.config配置粘贴到web.config中,如下所示,然后可以覆盖app.config设置。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings"
type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Playground.ConfigurationOverride.DataAccess.Properties.Settings"
type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<Playground.ConfigurationOverride.DataAccess.Properties.Settings>
<setting name="MySetting" serializeAs="String">
<value>Setting in DataAccess</value>
</setting>
</Playground.ConfigurationOverride.DataAccess.Properties.Settings>
</applicationSettings>
</configuration>