.Net中的运行时配置(特别是EntLib)
时间:2020-03-05 18:40:37 来源:igfitidea点击:
我正在寻找一种在运行时配置数据库连接的方法。特别是使用企业库。我看到有一个* .Data.Configuration(或者接近它的东西...别想起我的头了)程序集,但在互连网上发现的内容不多。麻烦的是,API帮助在Vista上已损坏。
现在,我找到了解决方法:
Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ConnectionStringSettings connection = new ConnectionStringSettings(); connection.Name = "Runtime Connection"; connection.ProviderName = "System.Data.OleDb"; connection.ConnectionString = "myconstring"; cfg.ConnectionStrings.ConnectionStrings.Add(connection); cfg.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("connectionStrings"); var runtimeCon = DatabaseFactory.CreateDatabase("Runtime Connection");
尽管它提供了我想要的功能,但它会永久编辑App.config。当然,我可以返回并删除所做的更改,但我不希望经历这种麻烦。
解决方案
回答
如果我们使用的是winforms应用,则可以尝试使用UserProperties来存储此信息。另一个可能的解决方案是自定义配置部分。
回答
如果我们不希望保存它,则不需要执行cfg.Save命令。
Configuration对象将存储更改,直到不再需要为止。
回答
不,我们必须保存以便EntLib(我怀疑还有其他工具)才能查看更改。