2011-07-01 29 views
0

我正在編寫將用於桌面和網絡應用程序的庫。它需要遍歷.config文件中的部分組。我想我需要一個System.Configuration.Configuration的實例來做到這一點。有沒有辦法做到這一點,在桌面和網絡應用程序的作品?在exe或web應用程序中遍歷.config文件

+0

如何XmlTextReader的? –

+0

這很好 - 雖然不幸 - 如果那是我必須做的。是否有一種與主機無關的獲取.config文件路徑的方式? – Daniel

回答

0

我結束了這樣的事情:

static Configuration OpenConfiguration() { 
    if (HttpContext.Current != null) 
     return WebConfigurationManager.OpenWebConfiguration(null); 
    return ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
} 

static IEnumerable<ConfigurationSectionGroup> GetConfigSectionGroups() { 
    var config = OpenConfiguration(); 
    var stack = new Stack<ConfigurationSectionGroup>(); 
    stack.Push(config.RootSectionGroup); 
    while (stack.Count > 0) { 
     var group = stack.Pop(); 
     yield return group; 
     foreach (ConfigurationSectionGroup subGroup in group.SectionGroups) { 
      stack.Push(subGroup); 
     } 
    } 
} 
0

我會使用WebConfigurationManager/ConfigurationManager來讀取特定的配置部分並返回一個ConfigurationSection對象。

+0

我不需要特定的部分,我需要遍歷部分組。 – Daniel

+0

請參閱http://stackoverflow.com/questions/1968592/accessing-an-attribute-on-a-configsection-in-a-web-config –