2010-04-17 27 views
1

我試圖從app.config中ConfigurationManager.AppSettings [關鍵]總是空

這讓在appSetting節的關鍵「的suser」的值是我class.cs代碼

string sUsr = ConfigurationManager.AppSettings.Get["sUser"]; 

但始終爲空。

我試試這個代碼(我把它從MSDN):

// Get the configuration file. 
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

// Get the appSettings section. 
AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings"); 

// Get the auxiliary file name. 
Console.WriteLine("Auxiliary file: {0}", config.AppSettings.File); 

但它表示該文件空

而且我現在用的是stting控制檯寫這些屬性和它的作品,如果我獲得使用

string sUsr = WIW.Business.Properties.Settings.Default.sUser; 

的應用程序,但我要使用該類作爲參考的網站,並在網站上的web.config中我無法配置這些設置

+1

你可以粘貼web.config的AppSettings部分作爲參考嗎?在附註中,你甚至不需要使用'config.GetSection(「appSettings」)'。 – 2010-04-17 22:58:06

回答

1

在你的App.config appSettings部分應該如下所示:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
    <add key="sUser" value="Test"/> 
    </appSettings> 
</configuration> 
0

這裏的我的app.config,如果我嘗試從appSettins部分我總是得到空拿到鑰匙值,但如果我嘗試從applicationsection它沒有問題得到他們的事情是,我需要把那applicationsection上一個網站,但在網站上,我可以放的applicationSettings

<configuration> 
     <appSettings> 
     <add key="sUser" value="userbancolombia"> 
     <add key="sPassword" value="8909039388"> 
     <appSettings> 

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

     <system.serviceModel> 
      <bindings /> 
      <client /> 
     </system.serviceModel> 



     <applicationSettings> 
     <WIW.Business.Properties.Settings> 
      <setting name="WIW_Business_WsCCMain_ConsultaNuips" serializeAs="String"> 
      <value>http://coomeva1/AsisaWS_2008/ConsultaNuips.asmx</value> 
      </setting> 
      <setting name="WIW_Business_WsCCAux_ConsultaNuips" serializeAs="String"> 
      <value>http://coomeva1/AsisaWS_2008_Sec/ConsultaNuips.asmx</value> 
      </setting> 
      <setting name="WIW_Business_WsCEMain_ConsultaCedulaExtranjeria" 
      serializeAs="String"> 
      <value>http://coomeva1/AsisaWS_2008/ConsultaCedulaExtranjeria.asmx</value> 
      </setting> 
      <setting name="WIW_Business_WsCEAux_ConsultaCedulaExtranjeria" 
      serializeAs="String"> 
      <value>http://coomeva1/AsisaWS_2008_Sec/ConsultaCedulaExtranjeria.asmx</value> 
      </setting> 
      <setting name="sUser" serializeAs="String"> 
      <value>userbancolombia</value> 
      </setting> 
      <setting name="sPassword" serializeAs="String"> 
      <value>8909039388</value> 
      </setting> 
     </WIW.Business.Properties.Settings> 
     </applicationSettings> 
    </configuration> 
0

使用Properties.Settings.Default.{your_setting_key}訪問值

Properties.Settings.Default.sPassword return 8909039388 

所有這些都包含在屬性類。

0

我有同樣的問題。我打電話給另一個項目(在同一個解決方案中),並期待appSettings出現。

爲了使它工作,我在調用目標應用程序的應用程序中添加了以下行。

<appSettings> 
     <add key="sUser" value="Test"/> 
    </appSettings> 

之後,它爲我工作。嘗試這個。它也許可以幫助你