我想动态设置连接字符串在web.config中的C#代码:为什么更改连接字符串抛出只读错误?
ConfigurationManager.ConnectionStrings["ServerConnection"].ConnectionString = "blah";
但它不是让我这样做,并抛出以下错误:
The configuration is read only.
注:我如果可能的话,不想实际保存到web.config。只需在内存中动态设置即可。
我想动态设置连接字符串在web.config中的C#代码:为什么更改连接字符串抛出只读错误?
ConfigurationManager.ConnectionStrings["ServerConnection"].ConnectionString = "blah";
但它不是让我这样做,并抛出以下错误:
The configuration is read only.
注:我如果可能的话,不想实际保存到web.config。只需在内存中动态设置即可。
var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
section.ConnectionStrings["ServerConnection"].ConnectionString = "Data Source=...";
configuration.Save();
如果你不想改变你的实际web.config,那么你可以使用;
using(OleDbConnection conn = new OleDbConnection("Type here your connection string"))
{
// Execute my code
}
或者,你可以,如果你想保留一些数据,然后做的更改连接字符串的值复制到另一个字符串..
string myNewConnectionString = ConfigurationManager.ConnectionStrings["ServerConnection"].ConnectionString;
myNewConnectionString.Replace("Data Source=Development", "Data Source=Production");
请参见[这个问题](HTTP:// stackoverflow.com/questions/2260317/change-a-web-config-programmatically-with-c-sharp-net)了解如何更改连接字符串。 – zimdanen