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



网站中大部分配置存储在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);  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值