C# 如何获取自定义的config中节点的值,并修改节点的值
标签:connect set ace help pdo dex using exe 不为
现定义一个方法 DIYConfigHelper.cs
using System;
using System.Xml;
using System.Configuration;
using System.Reflection;
using System.Web;
using System.IO;
namespace Chain.Common
{
///
/// Summary description for ReadWriteConfig.
///
public class DIYConfigHelper
{
///
///
///
/// 节点名称
///
///
/// 获取自定义 index.config 文件中的 appsetting 节点值
///
/// config文件的路径
/// 节点名称
/// 节点名称的值
public static string GetIndexConfigValue(string path, string key)
{
string indexConfigPath = path;
if (string.IsNullOrEmpty(indexConfigPath))
throw new Exception("请检查应用程序配置文件 appSettings 节点,是否存在 indexConfig 且 value 不为空的配置节!");
if (!File.Exists(indexConfigPath))
throw new Exception(string.Format("配置文件不存在:{0}", indexConfigPath));
ExeConfigurationFileMap ecf = new ExeConfigurationFileMap();
ecf.ExeConfigFilename = indexConfigPath;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(ecf, ConfigurationUserLevel.None);
return config.AppSettings.Settings[key].Value;
}
///
/// 设置自定义 index.config 文件中的 appsetting 节点值
///
/// config文件的路径
/// 节点名称
/// 需要修改的值
/// true:修改成功 false:修改失败
public static bool SetIndexConfigValue(string path, string key, string value)
{
string indexConfigPath = path;
if (string.IsNullOrEmpty(indexConfigPath))
throw new Exception("请检查应用程序配置文件 appSettings 节点,是否存在 indexConfig 且 value 不为空的配置节!");
if (!File.Exists(indexConfigPath))
throw new Exception(string.Format("配置文件不存在:{0}", indexConfigPath));
ExeConfigurationFileMap ecf = new ExeConfigurationFileMap();
ecf.ExeConfigFilename = indexConfigPath;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(ecf, ConfigurationUserLevel.None);
config.AppSettings.Settings[key].Value = value;
config.Save();
return true;
}
}
}
调用方式:
string ss = Chain.Common.DIYConfigHelper.GetIndexConfigValue(HttpRuntime.AppDomainAppPath.ToString() + "DIY.config", "14");
bool tt = Chain.Common.DIYConfigHelper.SetIndexConfigValue(HttpRuntime.AppDomainAppPath.ToString() + "DIY.config", "14", "5");
DIY.config文件的内容
"1.0" encoding="utf-8"?>
"15" value="663CFB4AF7AE2A91B14587C31B3DE60AF38AED2E63F5040C5D453CBC704162B8ACDD7A7D67A95FA0" />
"14" value="156D7DB054ABBF9B321B1E8982130FDA3420475BC524C4259C55A8CEA4F884DE649FD16284A1053F" />
C# 如何获取自定义的config中节点的值,并修改节点的值
标签:connect set ace help pdo dex using exe 不为
原文地址:https://www.cnblogs.com/LoveQin/p/9534615.html
评论