2011-10-19 78 views
3

我的配置文件位於:如何使用ConfigurationManager打開配置文件應用程序設置?

"~/Admin/Web.config" 

我試圖通過下面的代碼打開它,但它沒有工作:

var physicalFilePath = HttpContext.Current.Server.MapPath("~/Admin/Web.config"); 
var configMap = new ConfigurationFileMap(physicalFilePath); 
var configuration = ConfigurationManager.OpenMappedMachineConfiguration(configMap); 
var appSettingsSection = (AppSettingsSection)configuration.GetSection("appSettings"); 
的AppSettings線運行時

,它拋出下面的錯誤信息:

Unable to cast object of type 'System.Configuration.DefaultSection' to type 'System.Configuration.AppSettingsSection'. 

我的web.config看起來像如下:

<?xml version="1.0"?> 
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <appSettings> 
    <add key="AdminUsername" value="Test1"/> 
    <add key="AdminPassword" value="Test2"/> 
    </appSettings> 
    <connectionStrings></connectionStrings> 
</configuration> 

我如何獲得appsettings?

回答

4

對於web應用程序,你需要使用System.Web.Configuration.WebConfigurationManager類,並沒有必要設置絕對路徑。

var web=System.Web.Configuration.WebConfigurationManager 
      .OpenWebConfiguration("~/admin/web.config"); 

String appValue=web.AppSettings.Settings["key"].Value; 
+2

訪問其AppSettings屬性時,我收到此錯誤:無法投型「System.Configuration.DefaultSection」的對象鍵入「System.Configuration.AppSettingsSection」。 –

相關問題