如何在运行时重写Webconfig连接字符串

问题描述:

如何在运行时重写Webconfig连接字符串。我有服务器,用户名和密码的输入文本框。是否可以从这些文本框中读取?如何在运行时重写Webconfig连接字符串

这取决于你如何创建你的连接,但确定它是可能的。

看一看本网站的连接字符串特定的分贝要连接到..

ConnectionStrings.com

对于你这样做

Imports System.Data.SqlClient 
... 
... 
Dim conn As SqlConnection = New SqlConnection("Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;") 
conn.Open 
一个SQL连接字符串

用您的文本框中的值替换要更改的位

例如

Dim conn As SqlConnection = New SqlConnection("Data Source=" & txtServerAddr.Text & ";Initial Catalog=" & txtDBName.Text & ";User Id=" & txtUser.Text & ";Password=" & txtPassword.Text & ";") 

编辑以下编辑您的问题

啊,现在更有意义。

好的,你现在有两种选择。如果您连接的连接字符串数量有限(也许是Live,Test,Live#2),那么在您的web.config文件中添加额外的连接字符串会更有意义,然后在输入时提供它们作为下拉列表您的网络应用。

你可以阅读更多关于如何拉命名连接字符串出的web.config这里.. Microsoft How to: Read Connection Strings from the Web.config File

如果有可能的连接字符串无限数量的话,我会完全避免的web.config和构建在飞行中的连接字符串作为我原来的答复

加成

“这不是在运行时编辑的web.config,实现您对web.config中的任何变化都会导致applicati一个好主意在您的网络服务器上重新启动。“

+0

可以以某种方式处理或避免此重新启动行为吗?你能否就同样的问题提出建议。我们需要以一种优雅的方式进行热部署。 plz help – Futur 2011-09-29 10:55:26

+1

是的未来..不要把你的连接字符串放在你的配置文件中。将它们保存到不属于.net生态系统的另一个文件 – CResults 2011-09-29 19:23:18