你的位置:首页 > 软件开发 > ASP.net > 使用MEF实现通用参数设置

使用MEF实现通用参数设置

发布时间:2016-07-14 08:00:04
通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能。参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息。好的参数设置需要达到以下几点1.使用简单 2.功能强大,方便拓展 3.界面美观。本篇将带你 ...

  通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能。参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息。好的参数设置需要达到以下几点1.使用简单  2.功能强大,方便拓展 3.界面美观。本篇将带你实现通用参数设置,在阅读之前你需要了解的知识,get='_blank'>ASP.NET MVC,Entity Framework,MEF。在线预览地址:http://config.myscloud.cn

使用MEF实现通用参数设置

阅读目录

  • 添加配置项及使用
  • 实现思路
  • 关键代码解析
  • 总结
回到顶部  注意点:ConfigAttribute属性描述中 Name:对应配置项中文说明  DefaultValue:默认值  ConfigValueType:bool类型会显示成单选radio,更多设置可参考ConfigAttribute类 通过MEF导入器读取所有配置项组,存储在静态变量 _allConfig 中
     /// <summary>    /// 初始化系统参数配置信息    /// </summary>    public void Init()    {      //所有选项值      List<Options> listOption = ConfigService.GetAllOptions();      ConfigDescription desc = null;      //代码现有配置项      foreach (ConfigOption item in AllConfig)      {        //反射读取配置项ConfigTypeAttribute ConfigAttribute 信息        desc = ConfigDescriptionCache.GetTypeDiscription(item.GetType());        //设置当前配置项的GroupType        desc.GroupTypePropertyInfo.SetValue(item, Convert.ChangeType(desc.Group, desc.GroupTypePropertyInfo.PropertyType), null);        //每项值信息        List<Options> itemOptions = listOption.Where(e => e.OptionType.Equals(desc.Group, StringComparison.OrdinalIgnoreCase)).ToList();        Options op = null;        ConfigAttribute ca = null;        foreach (PropertyInfo prop in desc.StaticPropertyInfo)        {          op = itemOptions.FirstOrDefault(e1 => e1.Key.Equals(prop.Name, StringComparison.OrdinalIgnoreCase));          ca = desc.MemberDict[prop.Name];          if (op == null)          {            //设置默认值            prop.SetValue(null, Convert.ChangeType(ca.DefaultValue, prop.PropertyType), null);          }          else          {            prop.SetValue(null, Convert.ChangeType(op.Value, prop.PropertyType), null);          }        }      }    }
    /// <summary>    /// 获取指定项配置信息    /// </summary>    /// <param name="GroupType">分组项</param>    /// <returns>所有配置信息</returns>    public OptionViewModel GetOptionByGroup(string GroupType)
 前台渲染逻辑(config.js)

原标题:使用MEF实现通用参数设置

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录