asp.net代码中修改web.config节点的具体方法
程序员文章站
2024-03-02 14:23:46
但是这个变量不会一个固定的值,会根据实际情况而发生变化,比如在需要读取一个配置文件的路径,而这个路径是站点发布的实际硬盘路径,如果直接是编译时状态,没有问题。但是如果站点i...
但是这个变量不会一个固定的值,会根据实际情况而发生变化,比如在需要读取一个配置文件的路径,而这个路径是站点发布的实际硬盘路径,如果直接是编译时状态,没有问题。但是如果站点iis更换路径,就需要修改这个web.config中的参数。如果能将这个编译时状态修改为运行时状态,那将更为合理和方便。这就需要存在一种在代码中能够动态修改web.config的方案。
代码
/// <summary>
/// 写入web.config
/// </summary>
/// <param name="item">appsettings等</param>
/// <param name="key">键</param>
/// <param name="value">值</param>
public void writeconfig(string item, string key, string value)
{
if (item == "")
{
item = "appsettings";
}
configuration config = system.web.configuration.webconfigurationmanager.openwebconfiguration(system.web.httpcontext.current.request.applicationpath);
appsettingssection appsection = (appsettingssection)config.getsection(item);
if (appsection.settings[key] == null)
{
appsection.settings.add(key, value);
config.save();
}
else
{
appsection.settings.remove(key);
appsection.settings.add(key, value);
config.save();
}
}
代码
复制代码 代码如下:
/// <summary>
/// 写入web.config
/// </summary>
/// <param name="item">appsettings等</param>
/// <param name="key">键</param>
/// <param name="value">值</param>
public void writeconfig(string item, string key, string value)
{
if (item == "")
{
item = "appsettings";
}
configuration config = system.web.configuration.webconfigurationmanager.openwebconfiguration(system.web.httpcontext.current.request.applicationpath);
appsettingssection appsection = (appsettingssection)config.getsection(item);
if (appsection.settings[key] == null)
{
appsection.settings.add(key, value);
config.save();
}
else
{
appsection.settings.remove(key);
appsection.settings.add(key, value);
config.save();
}
}