很多时候,我们可能会在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应用程序重启,降低性能。 (责任编辑:admin) |