.net Net中的运行时配置(特别是EntLib)

.net Net中的运行时配置(特别是EntLib),.net,enterprise-library,connection-string,.net,Enterprise Library,Connection String,我正在寻找一种在运行时配置DB连接的方法;特别是使用企业库。我看到有一个*.Data.Configuration(或类似于此的东西…我不记得了)组件,但我在互联网上发现的不多。让事情变得复杂的是,Vista上的API帮助被破坏了 现在,我找到了这项工作: Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ConnectionStringSettings conne

我正在寻找一种在运行时配置DB连接的方法;特别是使用企业库。我看到有一个*.Data.Configuration(或类似于此的东西…我不记得了)组件,但我在互联网上发现的不多。让事情变得复杂的是,Vista上的API帮助被破坏了

现在,我找到了这项工作:

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应用程序,您可以尝试使用它来存储此信息。另一种可能的解决方案是。

如果不希望保存,则不需要执行cfg.Save命令


配置对象将存储您的更改,直到不再需要为止。

不,您必须保存,以便EntLib(我怀疑,还有任何其他工具)看到更改。

我仍在寻找答案。有什么想法吗?