VS2012 常用web.config配置解析之自定义配置节点
2015-10-21 14:26
435 查看
在web.config文件中拥有一个用户自定义配置节点configSections,这个节点可以方便用户在web.config中随意的添加配置节点,让程序更加灵活(主要用于第三方插件的配置使用)
自定义节点是一个XML格式的数据,我们可以在节点中灵活的配置自己的数据,下面是一个简单数据的例子
1.先看一下web.config中的配置结构
2.为了实现自定义配置节点的解析,我们需要实现接口IConfigurationSectionHandler
3.ModelConfig类为了防止消耗IO资源,做了一个单例
4.读取数据,很简单及类的静态方法调用就OK;var config = Plugin.ConfigSections.ModelConfig.GetInstance();
自定义节点是一个XML格式的数据,我们可以在节点中灵活的配置自己的数据,下面是一个简单数据的例子
1.先看一下web.config中的配置结构
<configSections> <section name="modelsection" type="Amy.WebUI.Plugin.ConfigSections.ModelSectionHandler,Amy.WebUI"/> </configSections> <modelsection> <title>测试</title> <content>测试</content> </modelsection>
2.为了实现自定义配置节点的解析,我们需要实现接口IConfigurationSectionHandler
public class ModelSectionHandler : IConfigurationSectionHandler { /// <summary> /// 解析配置文件信息 /// </summary> public object Create(object parent, object configContext, XmlNode section) { var json = section.ToJsonByJsonNet().GetJsonValue("modelsection"); return json.ToObjectByJsonNet<ModelConfig>(); } }
3.ModelConfig类为了防止消耗IO资源,做了一个单例
public class ModelConfig { private static ModelConfig instance; private static readonly object syncObject = new object(); private ModelConfig() { } public static ModelConfig GetInstance() { if (instance == null) { lock (syncObject) { if (instance == null) { instance = (Plugin.ConfigSections.ModelConfig)System.Configuration.ConfigurationManager.GetSection("modelsection"); } } } return instance; } public string Title { get; set; } public string Content { get; set; } }
4.读取数据,很简单及类的静态方法调用就OK;var config = Plugin.ConfigSections.ModelConfig.GetInstance();
相关文章推荐
- 极光推送CTO黄鑫:大数据时代,数据与信息安全如何完美平衡?
- vmware12中mac系统与主机共享文件
- 贝叶斯
- 使用Unity3D创建一个幸运转盘
- Android drawText获取text宽度的三种方式
- FragmentPagerAdapter与FragmentStatePagerAdapter区别
- Activiti 5.18 mysql配置
- IOS本地存储的四种方式
- iOS中从第三级页面pop回到第一级页面的方法
- 正态分布公式
- ios 图片尺寸
- JavaScript prototype原型和原型链详解
- cocoapods 更新失败 bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
- 子集树与排列树
- 单态设计模式(Singleton Design Pattern)
- LeetCode 21: Merge Two Sorted Lists
- python----小数点精度控制round()
- centos mysql 基本操作
- postgresql 日志配置
- OpenStack日志管理&配置管理安全性分析