ASP.NET Web.Config読み書き補助クラス
3657 ワード
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", "");
AppSettingsとConnectionsStringを読み込みます.
string fileType=ConfigurationManager.AppSettings["FileType "];
string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString;