【发布时间】:2011-05-19 08:36:00
【问题描述】:
我有一个这样的 Config 类:
public class MyConfig : ConfigurationSection
{
[ConfigurationProperty("MyProperty", IsRequired = true)]
public string MyProperty
{
get { return (string)this["MyProperty"]; }
set { this["MyProperty"] = value; }
}
}
它正在被另一个这样的类实例化
(MyConfig)ConfigurationManager.GetSection("myConfig")
我们正在进行一些更改,现在将配置文件作为 xml 存储在数据库中,就像它当前在配置文件中一样。
我想将 MyConfig 维护为 ConfigurationSection 以实现向后兼容性,但仍然能够使用从数据库中检索到的 XML 字符串来实例化它。
有可能吗?如果是这样,怎么做? (请记住,它仍然应该像上面实例化的那样工作)
【问题讨论】:
-
我希望乐于看到这个问题的解决方案 - 我已经研究了一段时间,但没有取得太大的成功,不幸的是......
-
我很高兴看到我并不孤单。
-
我不知道这个问题的答案,因为似乎应用程序代码无法更改配置文件的位置。但我不会在这种情况下重载配置文件,而是创建自己的配置阅读器,从数据库中获取数据。
-
@akonsu,我一直在认真考虑按照你的建议去做。我以为我在进入那个方向之前问过
-
@akonsu:嗯,主要问题是我真的找不到插入我自己的基于数据库的配置阅读器的方法。不幸的是,整个 .NET 配置系统不是基于提供程序的(就像 .NET 中的许多其他东西一样),并且许多相关的类是密封的并使用内部和私有方法:-(
标签: c# .net .net-3.5 configuration