Web.config - 读取applicationSettings

时间:2016-07-26 10:06:01

标签: c# .net web-config

我正在使用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。

3 个答案:

答案 0 :(得分:2)

您可以使用ConfigurationManager课程。

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

编辑:查看此link一次。看来你不能在ApplicationSettings中使用内置的API。它仅适用于appSettings和connectionStrings。对于您的情况,您需要实现自定义类,如上面的链接中所述。

答案 1 :(得分:0)

在所有项目代码中查找键“ RedirectUriDEBUG” ... Visual Studio会找到一个参考...

应该像这样

global :: [YOUR_PACKAGE_NAMESPACE]。属性。设置。默认值。[YOUR_KEY] 希望对您有帮助

答案 2 :(得分:0)

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

它展示了如何使用 ConfigurationManager.GetSection 方法从 NameValueCollection 获取 applicationSettings

自定义部分的示例可能是:

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

使用默认的 ApplicationSettings 部分:

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