专注于技术经验交流

水至清则无鱼、宁静而致远!

技术、经验、学习共同打造网络新生活!
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

web.config中appSettings配置节的函数

Posted on 2007-03-12 17:17  小鱼儿  阅读(363)  评论(0编辑  收藏  举报
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"));
}
New Document