Web.config - 读取应用程序设置

Web.config - read applicationSettings

我正在使用 VS2015,C#。

我通过项目属性 - 设置创建了一些设置。其中一些保存在这里:

  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="Calendar.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>


<applicationSettings>
    <Calendar.Properties.Settings>
      <setting name="RedirectUriDEBUG" serializeAs="String">
        <value>https://localhost:44367/Login/RedirectGoogle</value>
      </setting>
      <setting name="RedirectUriPRODUKCIJA" serializeAs="String">
        <value>https://ztest30.franjobrekalo.com/Login/RedirectGoogle</value>
      </setting>
      <setting name="LogPathDEBUG" serializeAs="String">
        <value>C:\Users\Frenky\Desktop\AdministrationLog.txt</value>
      </setting>
      <setting name="LogPathPRODUKCIJA" serializeAs="String">
        <value>h:\root\home\frenkyb-001\www\administration\AdministrationLog.txt</value>
      </setting>
      <setting name="LogPathTEST" serializeAs="String">
        <value>h:\root\home\frenkyb-001\www\testnotes\AdministrationLog.txt</value>
      </setting>
    </Calendar.Properties.Settings>
  </applicationSettings>

ApplicationSettings 部分由 visual studio 生成。现在我需要从 applicationSettings 中读取。我尝试了很多解决方案,令我惊讶的是,没有任何效果。从 appSettings 或 connectionStrings 中读取似乎很容易。为什么生成的 applicationSettings 部分有问题?

编辑:

问题出在 applicationSettings 而不是 appSettings。

您可以使用 ConfigurationManager class.

尝试:ConfigurationManager.AppSettings。有关详细信息,请查看 msdn

编辑: 检查此 link 一次。看来您不能将内置的 API 用于 ApplicationSettings。它仅适用于 appSettings 和 connectionStrings。对于您的情况,您需要按照上述 link.

中的说明实施自定义 class

在您所有的项目代码中查找 KEY 'RedirectUriDEBUG'... Visual Studio 会找到一个参考...

应该是这样的

全局::[YOUR_PACKAGE_NAMESPACE].Properties.Settings.Default.[YOUR_KEY] 希望对你有帮助

对我来说,答案在这篇文章中:https://www.c-sharpcorner.com/article/four-ways-to-read-configuration-setting-in-c-sharp/

它显示了如何使用 ConfigurationManager.GetSection 方法从 applicationSettings

获取 NameValueCollection

带有自定义部分的示例可以是:

NameValueCollection PostSetting = ConfigurationManager.GetSection("BlogGroup/PostSetting") as NameValueCollection;

并且使用默认的 ApplicationSettings 部分:

NameValueCollection applicationSettings = ConfigurationManager.GetSection("ApplicationSettings") as NameValueCollection;