很多時候在使用時可能會在asp.net中動態的修改配置文件,我們可以使用如下代碼中涉及到的類來完成配置文件,下面的代碼是修改connectionstring的例子:
System.Configuration.Configuration c = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
c.ConnectionStrings.ConnectionStrings.Clear();
ConnectionStringSettings s = new ConnectionStringSettings();
s.ProviderName = "System.Data.OleDb";
s.ConnectionString = "Provider=Microsoft.oledb.jet.4.0;data source=c:\\abc.mdb";
s.Name = "myaccess";
c.ConnectionStrings.ConnectionStrings.Add(s);
c.Save();
但是asp.net因為安全性的關系, 不允許用Configuration的類對Web.config進行修改,
只能用操作xml對象的形式進行修改
XmlDocument doc = new XmlDocument();
doc.Load("Web.config");
XmlNode node = doc.DocumentElement.SelectSingleNode("appSettings");
node.SelectSingleNode("descendant::add[@key='Value_Inform']")。Attributes[1].Value = "111";
doc.DocumentElement.SelectSingleNode("appSettings")。InnerXml = node.InnerXml;
doc.Save("Web.config");
盡量不要修改web.config文件
web.config的改動由aspnet_wp進程監視,如果有改動,因為會導致web應用程序重啟,降低性能,所有的Session會重置
但是不建議動態修改web.config的值,因為會導致web應用程序重啟,降低性能。
*