我有一个引用 Web 服务的 DLL。
它放入 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 的新 sectionGroup 并将您的 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>
关于asp.net - web.config 和 app.config 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1503247/