C# ASP MVC 从 Web 配置文件中提取数据不起作用

Web*_*Guy 1 c# asp.net asp.net-mvc

我正在尝试从该msdn 资源概述的 Web 配置文件中提取数据。

这是我的代码:

System.Configuration.Configuration activeCampaignApiSetting1 =
  System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
if (activeCampaignApiSetting1.AppSettings.Settings.Count > 0) {
    System.Configuration.KeyValueConfigurationElement activeCampaignApiKeySetting =
      activeCampaignApiSetting1.AppSettings.Settings["ActiveCampaignApiKey"];
    if (activeCampaignApiKeySetting != null) {
        activeCampaignApiKey = activeCampaignApiKeySetting.Value;
    }

    System.Configuration.KeyValueConfigurationElement activeCamapignApiUrlSetting =
      activeCampaignApiSetting1.AppSettings.Settings["ActiveCampaignApiUrl"];
    if (activeCamapignApiUrlSetting != null) {
        activeCampaignApiUrl = activeCamapignApiUrlSetting.Value;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试实例化此类时:

var acs = new Acs(activeCampaignApiKey, activeCampaignApiUrl);
Run Code Online (Sandbox Code Playgroud)

它抛出一个异常,告诉我这些值是空白的。

Web 配置文件中的值如下:

<add key="ActiveCampaignApiKey" value="apikey_removed" />
<add key="ActiveCampaignApiUrl" value="apiurl_removed" />
Run Code Online (Sandbox Code Playgroud)

有人知道我哪里可能出错吗?干杯

Win*_*Win 5

如果它们是 web.config 中的 appSetting,您可以通过 访问它们ConfigurationManager.AppSettings

<?xml version="1.0"?>
<configuration>
   <configSections>
      <appSettings>
         <add key="ActiveCampaignApiKey" value="apikey_removed" />
         <add key="ActiveCampaignApiUrl" value="apiurl_removed" />
      </appSettings>
   </configSections>
</configuration>

string activeCampaignApiKeySetting 
 = ConfigurationManager.AppSettings["ActiveCampaignApiKey"];

string activeCamapignApiUrlSetting 
 = ConfigurationManager.AppSettings["ActiveCampaignApiUrl"];
Run Code Online (Sandbox Code Playgroud)

请确保您引用System.Configuration并包含using System.Configuration; 指令

仅供参考:它们返回字符串值(不是键值对)。