به صورت برنامه ریزی شده اضافه یا به روزرسانی کردن رشته اتصال در فایل ASP.Net Web.Config
با سلام در این مقاله توضیح خواهیم داد که چگونه به طور برنامه نویسی رشته اتصال را در فایل ASP.Net Web.Config اضافه یا به روزرسانی کنید با استفاده از C # و VB.Net
فضاهای نام
شما باید فضای نامهای زیر را وارد کنید .
C #
using System.Xml;
using System.Data.SqlClient;
VB.Net
Imports System.Xml
Imports System.Data.SqlClient
قطعه کد برای افزودن یا به روزرسانی رشته اتصال در فایل Web.Config
روش زیر، رشته اتصال را براساس نام رشته اتصال اضافه یا به روزرسانی می کند. اگر رشته اتصال با نام وجود نداشته باشد، یک گره رشته اتصال جدید در فایل Web.Config ایجاد خواهد شد.
C #
private void AddUpdateConnectionString(string name)
{
bool isNew = false;
string path = Server.MapPath("~/Web.Config");
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNodeList list = doc.DocumentElement.SelectNodes(string.Format("connectionStrings/add[@name='{0}']", name));
XmlNode node;
isNew = list.Count == 0;
if (isNew)
{
node = doc.CreateNode(XmlNodeType.Element, "add", null);
XmlAttribute attribute = doc.CreateAttribute("name");
attribute.Value = name;
node.Attributes.Append(attribute);
attribute = doc.CreateAttribute("connectionString");
attribute.Value = "";
node.Attributes.Append(attribute);
attribute = doc.CreateAttribute("providerName");
attribute.Value = "System.Data.SqlClient";
node.Attributes.Append(attribute);
}
else
{
node = list[0];
}
string conString = node.Attributes["connectionString"].Value;
SqlConnectionStringBuilder conStringBuilder = new SqlConnectionStringBuilder(conString);
conStringBuilder.InitialCatalog = "TestDB";
conStringBuilder.DataSource = "myserver";
conStringBuilder.IntegratedSecurity = false;
conStringBuilder.UserID = "test";
conStringBuilder.Password = "12345";
node.Attributes["connectionString"].Value = conStringBuilder.ConnectionString;
if (isNew)
{
doc.DocumentElement.SelectNodes("connectionStrings")[0].AppendChild(node);
}
doc.Save(path);
}
VB.Net
Private Sub AddUpdateConnectionString(name As String)
Dim isNew As Boolean = False
Dim path As String = Server.MapPath("~/Web.Config")
Dim doc As New XmlDocument()
doc.Load(path)
Dim list As XmlNodeList = doc.DocumentElement.SelectNodes(String.Format("connectionStrings/add[@name='{0}']", name))
Dim node As XmlNode
isNew = list.Count = 0
If isNew Then
node = doc.CreateNode(XmlNodeType.Element, "add", Nothing)
Dim attribute As XmlAttribute = doc.CreateAttribute("name")
attribute.Value = name
node.Attributes.Append(attribute)
attribute = doc.CreateAttribute("connectionString")
attribute.Value = ""
node.Attributes.Append(attribute)
attribute = doc.CreateAttribute("providerName")
attribute.Value = "System.Data.SqlClient"
node.Attributes.Append(attribute)
Else
node = list(0)
End If
Dim conString As String = node.Attributes("connectionString").Value
Dim conStringBuilder As New SqlConnectionStringBuilder(conString)
conStringBuilder.InitialCatalog = "TestDB"
conStringBuilder.DataSource = "myserver"
conStringBuilder.IntegratedSecurity = False
conStringBuilder.UserID = "test"
conStringBuilder.Password = "12345"
node.Attributes("connectionString").Value = conStringBuilder.ConnectionString
If isNew Then
doc.DocumentElement.SelectNodes("connectionStrings")(0).AppendChild(node)
End If
doc.Save(path)
End Sub