web.config中appSettings配置节的函数
这个函数主要使用xmldocument来解析web.config.并用selectsinglenode()方法来定位要修改的配置节。要注意的是最后程序要save(),所以,你的apsnet帐号必须对web.config拥有写权限.
/// <summary> /// 修改web.config文件appsettings配置节中的add里的value属性 /// </summary> /// <remarks> /// 注意,调用该函数后,会使整个web application重启,导致当前所有的会话丢失 /// </remarks> /// <param name="key">要修改的键key</param> /// <param name="strvalue">修改后的value</param> /// <exception cref="">找不到相关的键</exception> /// <exception cref="">权限不够,无法保存到web.config文件中</exception> public void Modify(string key, string strvalue) { string xpath = "/configuration/appSettings/add[@key=?]"; XmlDocument domwebconfig = new XmlDocument(); domwebconfig.Load(HttpContext.Current.Server.MapPath("/web.config")); XmlNode addkey = domwebconfig.SelectSingleNode((xpath.Replace("?", key))); if (addkey == null) { throw new ArgumentException("没有找到<add key=" + key + " value=.../>的配置节"); } addkey.Attributes["value"].InnerText = strvalue; domwebconfig.Save(HttpContext.Current.Server.MapPath("/web.config")); } |