2009-12-22 92 views
4

這是在web.config文件ConfigurationManager.GetSection返回空值appparently正確的 '路徑'

這裏的ConfigSection

<configSections> 
<sectionGroup name="HttpExceptionHandler"> 
    <section name="errorLog" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    <section name="errorMail" type="System.Configuration.SingleTagSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
</sectionGroup> 

這裏的SectionGroup:

<HttpExceptionHandler> 
    <errorLog type="MI.Generic.HttpExceptionHandler.SqlErrorLog, MI.Generic.HttpExceptionHandler" dataSource="opentraderdev\dev" initialCatalog="MiTraderError" /> 
</HttpExceptionHandler> 

代碼如下:

public class ErrorLogConfiguration : ConfigurationSection 
{ 
    public static ErrorLogConfiguration GetConfig() 
    { 
     return ConfigurationManager.GetSection("HttpExceptionHandler\\errorLog") as ErrorLogConfiguration; 
    } 

    [ConfigurationProperty("initialCatalog", IsRequired = true)] 
    public string InitialCatalog 
    { 
     get 
     { 
      return this["initialCatalog"] as string; 
     } 
    } 

    [ConfigurationProperty("dataSource", IsRequired = true)] 
    public string DataSource 
    { 
     get 
     { 
      return this["dataSource"] as string; 
     } 
    } 
} 

返回值始終爲空。我已經用完了想法。任何幫助讚賞。

+0

這不是Windows目錄,使用其他斜線:) – terR0Q 2009-12-22 13:43:11

回答

8

如何切換斜線方向:

return ConfigurationManager.GetSection("HttpExceptionHandler/errorLog") as ErrorLogConfiguration; 

這裏有一個similar example from MSDN

+0

這是答案...! – Krunal 2009-12-22 12:16:07

+0

這當然做了一些事情。但現在演員失敗了。 D'哦! ansd,這是因爲我試圖使用已有的類型定義(system.Configuration.SingleTagSectionHandler)與我自己的ConfigurationSection派生類的現有部分。 – user129345 2009-12-22 13:57:33