.NET 2.0及以上版本的配置系统非常强大且可扩展,只要不想改变它全部来自文件系统中的XML文件这一事实。
在我的需求中,我无法更改文件,因为我的应用程序在我无法控制的受管环境中运行,但我可以更改SQL Server数据库。
因此,我正在考虑将配置文件或部分存储在SQL表中,但如何将.NET 2.0配置系统与其连接起来呢?
是否有一种方法可以编写“自定义配置提供程序”,使其不从文件系统中的*.config文件读取其配置节,而是从SQL数据库表中读取呢?
我一直在尝试创建自己的自定义ConfigurationSection、ConfigurationElement甚至是自定义Configuration,但似乎总是回到一个点:我可以尽可能地扩展文件系统中的配置系统,但我无法让它从数据库表中读取我的XML片段.....
我错过了什么?有人做过这个并愿意解释/分享吗?
谢谢! Marc
PS:我还尝试了只将配置XML读入字符串,然后将其反序列化为适当的例如ServiceModelConfigSection - 不幸的是,这种方法行不通,因为ConfigSection基类某些方法未实现,因此无法进行XML序列化....... (天啊!!!)