1

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

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

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

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

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

4

1 回答 1

3

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

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

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

于 2012-12-19T22:30:30.473 回答