2012-05-08 23 views
0

讀「loggingConfiguration」我有下面的代碼讀取'loggingConfiguration'web.config文件正在使用EntLib 4.0如何使用LoggingSettings從Web.Config中

Configuration entLibConfig = 
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration 
(@"/Web.config"); 

LoggingSettings loggingSettings = 
(LoggingSettings)entLibConfig.GetSection(LoggingSettings.SectionName); 

loggingSettings對象是null2nd line執行之後。

有什麼建議在這裏出了什麼問題?

回答

0

爲什麼你返回null爲LoggingSettings返回的原因是沒有在web.config中配置的LoggingSettings正在打開。這可能是因爲指定的路徑不正確。

我有一個web appliation設置了2個web.configs:第一個在根目錄下,第二個在Config文件夾下。

/Root 
    web.config 
/Root/Config 
    web.config 

Config文件夾中的web.config包含LoggingSettings。來自未位於config文件夾頁閱讀LoggingSettings的代碼是:

Configuration entLibConfig = 
    WebConfigurationManager.OpenWebConfiguration(@"~/Config"); 

LoggingSettings loggingSettings = 
    (LoggingSettings)entLibConfig.GetSection(LoggingSettings.SectionName); 

這應該在開發Web服務器工作,以及IIS。

1
ExeConfigurationFileMap exc = new ExeConfigurationFileMap(); 
exc.ExeConfigFilename = @"Web.exe.config"; 
Configuration _config = ConfigurationManager.OpenMappedExeConfiguration(exc,ConfigurationUserLevel.None); 
LoggingSettings log = _config.GetSection("loggingConfiguration") as LoggingSettings; 

試試這個,它適用於我。