プロファイルの読み取りにwebconfigを追加
10038 ワード
webconfig.xmlのプロファイルの内容は豊富ですが、この記事ではAppSettingsというノードについてのみプロファイルの読み取りと追加を行います
コードは貼ってきて、実は何も解釈することができなくて、みんながすべて理解することができることを信じます
public class ConfigurationRef
{
/// <summary>
///
/// </summary>
/// <param name="key"> </param>
/// <returns></returns>
public static string GetConfig(string key)
{
string val = string.Empty;
if (WebConfigurationManager.AppSettings.AllKeys.Contains(key))
val = WebConfigurationManager.AppSettings[key];
return val;
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static Dictionary<string, string> GetConfig()
{
Dictionary<string, string> dict = new Dictionary<string, string>();
foreach (string key in WebConfigurationManager.AppSettings.AllKeys)
dict.Add(key, WebConfigurationManager.AppSettings[key]);
return dict;
}
/// <summary>
///
/// </summary>
/// <param name="key"> </param>
/// <param name="defaultValue"> </param>
/// <returns></returns>
public static string GetConfig(string key, string defaultValue)
{
string val = defaultValue;
if (WebConfigurationManager.AppSettings.AllKeys.Contains(key))
val = WebConfigurationManager.AppSettings[key];
if (val == null)
val = defaultValue;
return val;
}
/// <summary>
/// ,
/// </summary>
/// <param name="key"> </param>
/// <param name="value"> </param>
/// <returns></returns>
public static bool SetConfig(string key, string value)
{
try
{
Configuration conf = WebConfigurationManager.OpenWebConfiguration("~");
if (!conf.AppSettings.Settings.AllKeys.Contains(key))
conf.AppSettings.Settings.Add(key, value);
else
conf.AppSettings.Settings[key].Value = value;
conf.Save();
return true;
}
catch { return false; }
}
/// <summary>
/// ( ),
/// </summary>
/// <param name="dict"> </param>
/// <returns></returns>
public static bool SetConfig(Dictionary<string, string> dict)
{
try
{
if (dict == null || dict.Count == 0)
return false;
Configuration conf = WebConfigurationManager.OpenWebConfiguration("~");//ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
foreach (string key in dict.Keys)
{
if (!conf.AppSettings.Settings.AllKeys.Contains(key))
conf.AppSettings.Settings.Add(key, dict[key]);
else
conf.AppSettings.Settings[key].Value = dict[key];
}
conf.Save();
return true;
}
catch { return false; }
}
}
コードは貼ってきて、実は何も解釈することができなくて、みんながすべて理解することができることを信じます