zoukankan      html  css  js  c++  java
  • .net获取/修改配置文件/web.config

     配置实体类 (属性名称与配置项一致即可):

     public class WechatConfig
        {
       public string A{ get; set; }
      public string B{ get; set; }
      public string C{ get; set; }
    
    }

    获取配置信息

    var configInfo = new WechatConfig();
                Configuration _Config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
                AppSettingsSection _AppSettings = _Config.AppSettings;
    
                var props = configInfo.GetType().GetProperties();
    
                System.Reflection.PropertyInfo[] properties = configInfo.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
                foreach (System.Reflection.PropertyInfo item in properties)
                {
                    string name = item.Name;
                    var config = _AppSettings.Settings[name];
                    item.SetValue(configInfo, config.Value);
                }

    设置配置信息

    Configuration _Config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
                AppSettingsSection _AppSettings = _Config.AppSettings;
                var props = param.GetType().GetProperties();
                foreach (var item in props)
                {
                    var key = item.Name;
                    var value = param.GetType().GetProperty(key).GetValue(param, null);
                    if (_AppSettings.Settings[key] != null)
                        _AppSettings.Settings.Remove(key);
                    _AppSettings.Settings.Add(key, value.ToString());
                }
                _Config.Save();

    注意:

     如果有些配置项是在Application_Start加载使用的话,设置配置信息后需要重启服务才会生效,很明显十分不方便。

     所以最好封装需要使用配置数据的功能,在设置完配置项后调用一次即可

    例如:使用盛派SDK需要在Application_Start全局注册一下微信信息,当我通过以上方法修改了微信配置时,再次调用一下我封装的盛派注册微信信息方法即可即时更新配置数据。

  • 相关阅读:
    CVS简介
    快捷搭建JavaWeb开发环境
    局域网Win7 SVN 服务器搭建以及使用(原创)
    给自己 一个方向,让自己不再迷茫
    SQL Server2005安装配置以及测试
    Oracle中表结构和表内容复制
    Myeclipse8.5 svn插件安装两种方式
    Oracle中错误代码ORA02292 违反了完整性约束条件解决
    JSP中字符编码转换问题
    C# sealed关键词
  • 原文地址:https://www.cnblogs.com/ncellit/p/12689765.html
Copyright © 2011-2022 走看看