您的位置:首页 > 编程语言

如何通过代码修改web.config文件

2016-01-04 10:22 316 查看

网站中大部分配置存储在web.config的appSettings节中,可以通过System.Web.Configuration.WebConfigurationManager.AppSettings.Get读取相应的节,如何设置这些节点的值并保存呢?

修改web.config的内容可以使用

Configuration cfg =         System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
AppSettingsSection appSetting = cfg.AppSettings;
appSetting.Settings["a"].Value = "changed by application";
cfg.Save();


但是请注意修改web.config中的任何内容,都会导致一次application 重起,会丢失当前的session, application, cache中的所有信息。

建议的做法是在当前的站点中再加入一个config文件,修改自己加入的config文件。

第二种使用xmldocument的方式

XmlDocument webconfigDoc = new XmlDocument();

string filePath = HttpContext.Current.Request.PhysicalApplicationPath + @"/web.config";

//设置节的xml路径
string xPath = "/configuration/appSettings/add[@key='?']";

//加载web.config文件
webconfigDoc.Load(filePath);

//找到要修改的节点
XmlNode passkey = webconfigDoc.SelectSingleNode(xPath.Replace("?","SysAdminPass"));

//设置节点的值
passkey.Attributes["value"].InnerText = strNewpwd;

//保存设置
webconfigDoc.Save(filePath);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: