【问题标题】:Is a dynamic ConfigurationSection possible in a simple manner?动态 ConfigurationSection 是否可以通过简单的方式实现?
【发布时间】:2011-03-27 20:53:16
【问题描述】:

在 .NET 1.0 中,IConfigurationSectionHandler 提供了一个干净的单一方法接口来实现配置处理程序。

在 .NET 2 中,ConfigurationSection 出现了,它是一个笨重的复杂性和静态类型强制的庞然大物,挥舞着横幅宣称“如果使用 IConfigurationSectionHandler,将会发生未知的邪恶!”。

作为我的反叛者,我试图将插件架构硬塞进一个古老的静态框架,如 .NET 2,我想要一个动态配置部分。没有什么是静态的,只是一个漂亮的 XML 节点树或嵌套的键/值对。插件无需定义脆弱的序列化代码即可访问的东西。

就像 XML 最初的用途一样,在它成为脆弱的 catch-22 web.config 恐怖和痛苦的样板序列化树的预兆之前。

请问有什么方法可以获取 XMLElement 实例或 XMLReader 吗?

【问题讨论】:

    标签: .net xml configurationsection


    【解决方案1】:

    考虑到这篇文章的年代,您可能已经自己找到了相同的答案...

    您可以实现一个ConfigurationSection,只需要覆盖受保护的方法DeserializeSection()。您的自定义配置部分不需要遵循作为 .NET 2 配置规范的基于属性的属性模式。

    DeserializeSection 接受 XmlReader 作为其唯一参数。您可以使用 XmlReader 从您的部分中解析出 XML,并以您选择的任何方式公开该数据。

    【讨论】:

    • 谢谢,这正是我所做的。然后,我为设置查询公开了一个类似 css 的选择器引擎。应该回答我自己的问题,但我忘记了......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多