我正在编写一个将用于桌面和网络应用程序的库。它需要遍历.config文件中的节组。我假设我需要System.Configuration.Configuration
的实例来执行此操作。有没有办法在桌面和网络应用程序中运行?
答案 0 :(得分:0)
我会使用WebConfigurationManager
/ ConfigurationManager
来阅读特定的配置部分并返回ConfigurationSection
个对象。
答案 1 :(得分: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);
}
}
}