ASP.NET Web.Config 讀寫輔助類
using System;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
namespace Whir.ezEIP
{
/// <summary>
/// WebConfig讀寫輔助類
/// </summary>
public class WebConfigManager : IDisposable
{
private Configuration _config;
/// <summary>
/// WebConfig讀寫輔助類
/// </summary>
public WebConfigManager()
: this(HttpContext.Current.Request.ApplicationPath)
{
}
/// <summary>
/// WebConfig讀寫輔助類
/// </summary>
/// <param name="path"></param>
public WebConfigManager(string path)
{
_config = WebConfigurationManager.OpenWebConfiguration(path);
}
#region IDisposable Members
public void Dispose()
{
if (_config != null)
{
_config.Save();
}
}
#endregion
/// <summary>
/// 設置應用程序配置節點,如果已經存在此節點,則會修改該節點的值,否則添加此節點
/// </summary>
/// <param name="key">節點名稱</param>
/// <param name="value">節點值</param>
public void SetAppSetting(string key, string value)
{
var appSetting = (AppSettingsSection)_config.GetSection("appSettings");
if (appSetting.Settings[key] == null) //如果不存在此節點,則添加
{
appSetting.Settings.Add(key, value);
}
else //如果存在此節點,則修改
{
appSetting.Settings[key].Value = value;
}
Save();
}
/// <summary>
/// 設置數據庫連接字符串節點,如果不存在此節點,則會添加此節點及對應的值,存在則修改
/// </summary>
/// <param name="key">節點名稱</param>
/// <param name="connectionString"> </param>
public void SetConnectionString(string key, string connectionString)
{
var connectionSetting = (ConnectionStringsSection)_config.GetSection("connectionStrings");
if (connectionSetting.ConnectionStrings[key] == null) //如果不存在此節點,則添加
{
var connectionStringSettings = new ConnectionStringSettings(key, connectionString);
connectionSetting.ConnectionStrings.Add(connectionStringSettings);
}
else //如果存在此節點,則修改
{
connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
}
Save();
}
/// <summary>
/// 保存所作的修改
/// </summary>
public void Save()
{
_config.Save();
_config = null;
}
}
}
使用方法:
var config = new WebConfigManager();
config.SetAppSetting("StrRegex", "");
讀取AppSetting和ConnectionString:
string fileType=ConfigurationManager.AppSettings["FileType "];
string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString;
最後更新:2017-04-03 08:26:25