اعمال تغييرات در Web.config به شکل dynamically
شايد ايده جالبي نباشه که بخواهيد در Web.config اطلاعاتي رو به شکل dynamically تغيير بديد ؛ ولي در بعضي مواقع ما نيازمند اين مطلب هستيم که تغييراتي رو انجام بديم .
در اين مثال ما ميخواهيم انجام تغييرات رو روي connection string انجام بديم و key موجود و نيز database name رو تغيير بديم.
براي اين موضوع در Web.config داريم
کد:
<appSettings>
<add key="NorthwindConnectionString" value="Server=local;Database=Northwind;Trusted_Connection=true" />
</appSettings>
در فرم وب خودمون صفحه ايي مثل شکل زير رو درست ميکنم تا اطلاعات رو از کاربر بگيريم .
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
براي انجام اين مثال با کمک #C بايد کلاس System.xml رو استفاده کنيم .
کد:
private void SetConfigSettings()
{
string path = Server.MapPath("Web.config");
string newConnectionString = @"Server=local;Database="+txtDatabaseName.Text+";Trusted_Connection=true";
XmlDocument xDoc = new XmlDocument();
xDoc.Load(path);
XmlNodeList nodeList = xDoc.GetElementsByTagName("appSettings");
XmlNodeList nodeAppSettings = nodeList[0].ChildNodes;
XmlAttributeCollection xmlAttCollection = nodeAppSettings[0].Attributes;
xmlAttCollection[0].InnerXml = txtKey.Text; // for key attribute
xmlAttCollection[1].InnerXml = newConnectionString; // for value attribute
xDoc.Save(path); // saves the web.config file
}
و نيز براي VB.Net داريم .
کد:
Private Sub SetConfigSettings()
Dim path As String = Server.MapPath("Web.config")
Dim newConnectionString As String = ("Server=local;Database=" _
+ (txtDatabaseName.Text + ";Trusted_Connection=true"))
Dim xDoc As XmlDocument = New XmlDocument
xDoc.Load(path)
Dim nodeList As XmlNodeList = xDoc.GetElementsByTagName("appSettings")
Dim nodeAppSettings As XmlNodeList = nodeList(0).ChildNodes
Dim xmlAttCollection As XmlAttributeCollection = nodeAppSettings(0).Attributes
xmlAttCollection(0).InnerXml = txtKey.Text
' for key attribute
xmlAttCollection(1).InnerXml = newConnectionString
' for value attribute
xDoc.Save(path)
' saves the web.config file
End Sub
نويسنده : بابک زواري
منبع : سايت