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

 我来答
蝴蝶飞鱼吉祥梦
2016-05-24 · TA获得超过520个赞
知道小有建树答主
回答量:912
采纳率:0%
帮助的人:599万
展开全部
代码如下:请导入 System.XML命名空间

string file = Server.MapPath(@"~\web.config");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(file);

string s1 = "aaa";
string s2 = "bbb";
string h = "ccc";
string user = "ddd";
string pass = "eee";

XmlNodeList nodeList = null;

nodeList = xmlDoc.SelectSingleNode("configuration//connectionStrings").ChildNodes;

//遍历所有子节点
foreach (XmlNode xn in nodeList)
{
//将子节点类型转换为XmlElement类型
XmlElement xe = xn as XmlElement;

if (xe.Name == "add")
{
if (xe.GetAttribute("name") == "acountConnectionString")
{
xe.SetAttribute("connectionString", s1);
}

if (xe.GetAttribute("name") == "mailaddress")
{
xe.SetAttribute("connectionString", s2);
}
}
}

nodeList = xmlDoc.SelectSingleNode("configuration//system.net//mailSettings//smtp").ChildNodes;
foreach (XmlNode xn in nodeList)
{
//将子节点类型转换为XmlElement类型
XmlElement xe = xn as XmlElement;

if (xe.Name == "network")
{
xe.SetAttribute("host", h);
xe.SetAttribute("userName", user);
xe.SetAttribute("password", pass);
break;
}
}

xmlDoc.Save(file);

但实际上通过代码修改web.config的操作微乎其微

1. web.config的修改可能会导致session等服务器变量的丢失
2. 如果你的页面是发布在IIS下面,要通过页面修改web.config,必须给web.config这个文件添加 Network service (IIS6)或 ASPNET (IIS)用户的写权限,这在实际操作中是不可想象的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式