如何编写企业库dataConfig.config文件?

时间:2011-10-06 08:08:35

标签: enterprise-library

我'继承'了一个使用Enterprise Library进行SQL数据访问的测试工具应用程序。在app.config文件(entrepreneelibrary.configurationSettings)中,它引用了一个“configurationSection”,其中包含加密的“dataConfig.config”路径。我想更改数据库连接属性,但EntLibConfig.exe不会打开dataConfig.config或app.config (我有FileKeyAlgorithmPairStorageProviderData文件)

测试工具应用程序运行,因此配置好了。

我可以在代码中使用(Microsoft.Practices.EnterpriseLibrary.Data.Configuration.ConfigurationManager.GetConfiguration(“dataConfiguration”))读取数据配置,并可以导航所有实例和连接字符串(security isn这个测试工具的问题是什么?。我可以将我需要的所有内容转储到手工制作的XML文件(使用GetType()。AssemblyQualifiedName获取读取配置文件的类的全名),然后将app.config更改为读取我新的,未加密的xml dataConfig文件。

一切都很好,我现在可以更改我的数据库配置设置。

但是......鉴于ConfigurationManager.GetConfiguration(“dataConfiguration”)返回一个完全填充的DatabaseSettings对象实例,我是否可以调用哪个方法来编写XML文件(dataConfig.config)< / em>对我来说?

我很欣赏这可能是编辑数据配置的一个非常大的方法,但经过半天的尝试,我又回到了原来的编码格言...如果你找不到工具来做什么你想要的,写下你自己的!

由于

1 个答案:

答案 0 :(得分:1)

嗯......事实证明它并不那么难。

我在app.config (dataConfiguration2)中添加了一个新的“configurationSection”,加密设置为false,路径指向一个新的空文本文件(dataConfiguration.config2) 。然后,我使用以下代码复制了加密的dataConfiguration详细信息:

using Entlib = Microsoft.Practices.EnterpriseLibrary.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data.Configuration;
    :
DatabaseSettings settings = (DatabaseSettings)Entlib.ConfigurationManager.GetConfiguration("dataConfiguration");
Entlib.ConfigurationManager.WriteConfiguration("dataConfiguration2", settings);

...并使用(未加密)配置详细信息填充空文件。