想以编程方式更改数据库的connecton字符串,该数据库在Windows应用程序中利用asp.net的成员资格提供程序。 system.configuration命名空间允许更改用户设置,但是,我们要调整应用程序设置吗?是否需要编写一个利用XML来修改类的类?是否需要删除当前连接(可以选择一个要清除的连接)并添加一个新连接吗?一个可以调整现有的连接字符串吗?
必须执行此操作。这是对我有用的代码:
1 2 3 4 5
| var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
connectionStringsSection.ConnectionStrings["Blah"].ConnectionString ="Data Source=blah;Initial Catalog=blah;UID=blah;password=blah";
config.Save();
ConfigurationManager.RefreshSection("connectionStrings"); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| // Get the application configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Create a connection string element and
// save it to the configuration file.
// Create a connection string element.
ConnectionStringSettings csSettings =
new ConnectionStringSettings("My Connection",
"LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;" +
"Initial Catalog=aspnetdb","System.Data.SqlClient");
// Get the connection strings section.
ConnectionStringsSection csSection =
config.ConnectionStrings;
// Add the new element.
csSection.ConnectionStrings.Add(csSettings);
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified); |
您可以使用System.configuration命名空间以编程方式打开配置:
Configuration myConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
然后您可以在以下位置访问连接字符串集合:
myConfig.ConnectionStrings.ConnectionStrings
您可以根据需要修改集合,完成后在配置对象上调用.Save()。
使用ConnectionStringsSection类。该文档甚至提供了一个示例,说明如何创建新的ConnectionString并将框架保存到配置文件中,而无需实现整个XML shebang。
请参见此处并向下浏览以获取示例。