gpt4 book ai didi

c# - 无法使用 ConfigurationManager.AppSettings 读取 Web.config

转载 作者:行者123 更新时间:2023-11-30 16:14:51 35 4
gpt4 key购买 nike

我构建了一个 WCF 服务,该服务使用 Web.config 获取一些 appSettings。在 visual studio 中它运行良好,但是当我发布和安装该服务时,它突然从 App.config 而不是从 Web.config 获取它的 appSettings。

我知道这一点是因为我循环遍历 appSettings 并使用以下代码将结果打印到控制台:

foreach (string key in ConfigurationManager.AppSettings.AllKeys)
{
Console.WriteLine("Name: {0} Value: {1}", key, ConfigurationManager.AppSettings[key]);
}

我的配置是这样的:

Web.config

  ....
<appSettings>
<add key="IQDir" value="C:\Program Files (x86)\Ridder iQ Client (lokaal)\Bin"/>
<add key="FileURL" value="localhost:8080/WebPortal_2.0/"/>
</appSettings>
....

App.config

....
<appSettings>
<add key="test1" value="wtf is going on!"/>
<add key="test2" value="waargh"/>
<add key="test3" value="I am getting a headache over here!!"/>
</appSettings>
....

当我在 visual studio 中运行时,我得到:

enter image description here

但是当我在实时环境中使用已发布的代码时,我得到了这个:

enter image description here

为什么会发生这种情况以及如何强制 ConfigurationManager 从 Web.config 而不是 App.config 获取 appSettings。

最佳答案

如果您有一个标准的 WCF 项目,您应该只有 Web.config 文件,而不是 App.config。

我会完全跳过使用 appSettings 的旧方法。通过使用项目属性中的“设置”选项卡,改用 applicationSettings。

它将在 Web.Config 中创建:

<applicationSettings>
<Projectname.Properties.Settings>
<setting name="Testenvironment" serializeAs="String">
<value>True</value>
</setting>
</Projectname.Properties.Settings>
</applicationSettings>

更多信息:appSettings vs applicationSettings. appSettings outdated?

关于c# - 无法使用 ConfigurationManager.AppSettings 读取 Web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20286026/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com