web.config和app.config混淆

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>