要动态更改Web.config中的连接字符串,可以使用以下方法:
在需要更改连接字符串的地方,使用以下代码:
ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString = "Data Source=newServerName;Initial Catalog=newDatabaseName;User ID=newUsername;Password=newPassword";
其中,ConnectionStringName
是Web.config中连接字符串的名称,newServerName
、newDatabaseName
、newUsername
和newPassword
分别是新的服务器名称、数据库名称、用户名和密码。
configSource
属性将连接字符串单独存储在一个XML文件中,然后使用C#代码更改该XML文件中的连接字符串。首先,在Web.config文件中将连接字符串的configSource属性设置为一个单独的XML文件:
然后,在connections.config文件中定义连接字符串:
<add name="ConnectionStringName" connectionString="Data Source=serverName;Initial Catalog=databaseName;User ID=username;Password=password" providerName="System.Data.SqlClient"/>
</connectionStrings>
接下来,使用以下代码更改connections.config文件中的连接字符串:
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = Server.MapPath("~/connections.config");
Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
configuration.ConnectionStrings.ConnectionStrings["ConnectionStringName"].ConnectionString = "Data Source=newServerName;Initial Catalog=newDatabaseName;User ID=newUsername;Password=newPassword";
configuration.Save();
其中,connections.config
是连接字符串单独存储的XML文件的名称,newServerName
、newDatabaseName
、newUsername
和newPassword
分别是新的服务器名称、数据库名称、用户名和密码。
需要注意的是,在使用这些方法更改连接字符串后,应用程序池需要重新启动才能使更改生效。
高校公开课
晞和讲堂
“中小企业”在线学堂
原引擎 | 场景实战系列
云+社区技术沙龙[第7期]
云+社区沙龙online [国产数据库]
云+社区沙龙online [国产数据库]
领取专属 10元无门槛券
手把手带您无忧上云