IConfigurationSectionHandler 接口

IConfigurationSectionHandler

处理对特定的配置节的访问。

示例代码:

  public class MyConfig : IConfigurationSectionHandler
    {
        public int MyNum1 { get; set; }
        public int MyNum2 { get; set; }
        public int MyNum3 { get; set; }

        public MyConfig()
        {
            MyNum1 = 0;
            MyNum2 = 0;
            MyNum3 = 0;
        }
        // implement interface member
        public object Create(object parent, object configContext, System.Xml.XmlNode section)
        {
            try
            {
                MyConfig options = new MyConfig();
                if (section == null) return options;

                foreach (XmlNode node in section.ChildNodes)
                {
                    if (node.Name == "MyNum1")
                        options.MyNum1 = int.Parse(node.InnerText);
                    else if (node.Name == "MyNum2")
                        options.MyNum2 = int.Parse(node.InnerText);
                    else if (node.Name == "MyNum3")
                        options.MyNum3 = int.Parse(node.InnerText);
                }
                return options;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

        }
    }

Web.config配置:

<section name="MyConfig" type="WebApp.MyConfig" />

及
 <MyConfig>
    <MyNum1>111</MyNum1>
    <MyNum2>222</MyNum2>
    <MyNum3>333</MyNum3>
  </MyConfig>
<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <section name="MyConfig" type="WebApp.MyConfig" />
  </configSections>
  <MyConfig>
    <MyNum1>111</MyNum1>
    <MyNum2>222</MyNum2>
    <MyNum3>333</MyNum3>
  </MyConfig>

调用:

 var myconfig = WebConfigurationManager.GetSection("MyConfig") as MyConfig;
            Response.Write(myconfig.MyNum2);

参考:

https://stackoverflow.com/questions/3694253/how-to-use-iconfigurationsectionhandler-for-global-configuration/28060401#28060401

时间: 2024-10-31 01:12:11

IConfigurationSectionHandler 接口的相关文章

.Net——实现IConfigurationSectionHandler接口定义处理程序处理自定义节点

除了使用.net里面提供的内置处理程序来处理我们的自定义节点外,我们还可以通过多种方法,来自己定义处理类处理我们的自定义节点,本文主要介绍通过实现IConfigurationSectionHandler接口的方式来实现自定义处理程序. 首先,我们先在配置文件里面写如下自定义节点: <!-- 使用自定义节点和上面的自定义处理程序--> <mailServerGroup provider="www.baidu.com"> <mailServer client=

使用IConfigurationSectionHandler在web.config中增加自定义配置

一. 场景    这里仅举一个简单应用的例子,我希望在web.config里面增加网站的基本信息,如:网站名称,网站版本号,是否将网站暂时关闭等.二. 基本实现方法1. 定义配置节点对应的类:SiteSetting    代码片段:    namespace Tristan.SeeCustomConfig {    public class SiteSetting {        public string SiteName { get; set; }        public string

(转).net webconfig使用IConfigurationSectionHandler自定section

自定义配置结构 (使用IConfigurationSectionHandler) 假设有以下的配置信息,其在MyInfo可以重复许多次,那么应如何读取配置呢?这时就要使用自定义的配置程序了.<myConfigs>  <myInfo Area="Fuzhou" Device="Printer" Customer="Muf" />  <myInfo Area="Shanghai" Device=&qu

Spring.net(二)----初探IOC容器

我在上一篇关于Spring.net的文章“Spring.NET框架简介及模块说明 ”中很详细的介绍了,本文就不旧话从提.我门就直奔主题吧. 1.首先了解两个接口.  IObjectFactory接口和IApplicationContext接口:他两个称为“容器”或“IOC容器”. Spring.net框架的核心原则是非侵入性.  IObjectFactory接口是初始化.配置及管理对象的实际容器.  IObjectFactory全限定名为Spring.Objects.Factory.IObjec

配置文件的读写(转载自逆心)

配置文件的读写 System.ConfigurationManager类用于对配置文件的读取.其具有的成员如下: 一.AppSettings AppSetting是最简单的配置节,读写非常简单. 名称 说明 AppSettings 获取当前应用程序默认配置的 AppSettingsSection 数据 ConnectionStrings 获取当前应用程序默认配置的 ConnectionStringsSection 数据 <?xml version="1.0" encoding=&

UrlRewrite(URL重写)--ASP.NET中的实现

概述 今天看了下URL重写的实现,主要看的是MS 的URL Rewrite. URL重写的优点有:更友好的URL,支持老版本的URL URL重写的缺点有:最主要的缺点是性能低下,因为如果要支持无后缀的URL(但更多的情况是我们要支持这种方式)就必须在IIS中配置所有的URL(包括js,css,image)都要转发到aspnet_isapi中,解决方法可以参见 慎用url重写:还有一个性能问题是,根据源代码,在匹配url时,用正则表达式尝试匹配每一个规则,直至有一个匹配成功,或都匹配不成功才结束.

Web.config自定义节点configSections

原文地址:http://www.cnblogs.com/huc87/archive/2009/05/06/1450981.html 1.为什么需要自定义节点 为了增加应用程序的可移植性,通常网站需要配置一些自定义的节点,例如:文件上传的路径等,再深入的应用,可以定义工厂方法需要创建的类. 2.configSections使用方法 configSections节点下定义自定义节点可以帮我们实现我们自己的节点. 首先定义自己的节点,定义方法如下: <configSections>    <s

web.config配置详细说明

(一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明    特点:位于配置文件的顶部,包含在<configSections>标志中. 2.特定应用程序配置    特点: 位于<appSetting>中.可以定义应用程序的全局常量设置等信息. 3.配置节设置    特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组    特点: 用<sectionGroup>标记,可以自定义分组

轻量级的.NET对象查找服务和AOP开发框架Netop.Core源码解说(2)--配置

先把Netop.Core的最核心部分"对象查找服务"放一放,先说说应用系统的配置. 一个应用系统的配置是少不了的,除非你是一个纯硬代码族顽固者. 也见过有的应用系统通过系统提供的健值(key-value)方法在appSettings节点下设了几十个甚至上百个,不堪入目,更别说条理性了. 开发一个应用框架,配置一般是少不了,如log4net就有自己的配置,不会让你在appSettings设几十个条目. 开发配置是很简单的,下面慢慢说来. 在NET应用中,配置信息以XML文档储存.WEB应