A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wxfyzt 中级黑马   /  2014-2-5 17:24  /  1194 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

虽然 web.config 文件是一个 XML 文件,但是由于权限的原因,它在部署中不能像操
作普通 XML 文件那样进行修改,在.net 中提供了一个类用于对 web.config 进行修改。
下面是针对 web.config 修改通用类的代码:
using System;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
/// <summary>
/// ConfigurationOperator  的摘要说明
/// </summary>
public class ConfigurationOperator : IDisposable
{
private Configuration config;
public ConfigurationOperator()
: this(HttpContext.Current.Request.ApplicationPath)
{
}
public ConfigurationOperator(string path)
{
config = WebConfigurationManager.OpenWebConfiguration(path);
}
/// <summary>
///  设置应用程序配置节点,如果已经存在此节点,则会修改该节点的值,否则添加此节点
/// </summary>
/// <param name="key">节点名称</param>
/// <param name="value">节点值</param>
public void SetAppSetting(string key, string value)
{
AppSettingsSection  appSetting = (AppSettingsSection)config.GetSection("appSettings");
if (appSetting.Settings[key] == null)//如果不存在此节点,则添加
{
231 / 235
appSetting.Settings.Add(key, value);
}
else//如果存在此节点,则修改
{
appSetting.Settings[key].Value = value;
}
}
/// <summary>
///  设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值,存在则修改
/// </summary>
/// <param name="key">节点名称</param>
/// <param name="value">节点值</param>
public void SetConnectionString(string key, string connectionString)
{
ConnectionStringsSection connectionSetting =
(ConnectionStringsSection)config.GetSection("connectionStrings");
if (connectionSetting.ConnectionStrings[key] == null)//如果不存在此节点,则添加
{
ConnectionStringSettings connectionStringSettings = new
ConnectionStringSettings(key, connectionString);
connectionSetting.ConnectionStrings.Add(connectionStringSettings);
}
else//如果存在此节点,则修改
{
connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
}
}
/// <summary>
///  保存所作的修改
/// </summary>
public void Save()
{
config.Save();
config = null;
}
public void Dispose()
{
if (config != null)
{
config.Save();
}
}
}
把上面的代码存放到 App_Code 文件夹下,项目中就可以直接使用了。
使用该类对配置文件进行读取,相应部分代码如下:
string appSetting = txtAppSetting.Text;//appSetting子节点值
string connectionString = txtConnectionString.Text;//连接字符串
string key = txtKey.Text;//appSetting子节点Key
string connectionName = txtConnectionName.Text;//连接Name
ConfigurationOperator op = new ConfigurationOperator();
op.SetAppSetting(key, appSetting);
op.SetConnectionString(connectionName, connectionString);
op.Save();

评分

参与人数 2技术分 +2 收起 理由
电脑大牛 + 1 很给力!
卖火柴 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马