【问题标题】:Traverse .config file in exe or web app在 exe 或 web 应用程序中遍历 .config 文件
【发布时间】:2011-12-19 22:18:05
【问题描述】:

我正在编写一个将在桌面和网络应用程序中使用的库。它需要遍历 .config 文件中的节组。我假设我需要一个 System.Configuration.Configuration 的实例来执行此操作。有没有一种适用于桌面和网络应用程序的方法?

【问题讨论】:

  • XmlTextReader 怎么样?
  • 那很好——尽管很不幸——如果我必须这样做的话。是否有与主机无关的方法来获取 .config 文件路径?

标签: c# asp.net configuration console-application


【解决方案1】:

我最终得到了这样的结果:

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);
        }
    }
}

【讨论】:

    【解决方案2】:

    我会使用WebConfigurationManager/ConfigurationManager 来读取特定的配置部分并返回一个ConfigurationSection 对象。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多