.Net——使用.net内置处理程序处理自定义节点Demo

         在.net中,因为对不同的节点,都对应着类去对它进行处理,。net里面为了方便,已经内置了一些类供我们使用,使我们在读取配置文件时,不必自己去定义类去处理自己定义的自定义节点。

        下面我们写了这样一个配置文件:

          

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <!--使用IgnoreSection处理自定义节点-->
    <!--<section name="mailServeraddress" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false " restartOnExternalChanges="true"/>-->

    <section name="mailServeraddress" type="System.Configuration.SingleTagSectionHandler" />

    <!--注意,指定处理程序的配置文件要写在自定义配置文件的前面-->
  </configSections>

  <mailServeraddress address="mail.tracefact.net" username="lhc" password="124324"/>

</configuration>

              节点名称为:mailServeraddress,有三个属性,在section里定义了SingleTagSectionHandler来处理这个节点。

               

namespace 自定义节点和内置处理程序
{
    class Program
    {
        static void Main(string[] args)
        {
            ExampleSingleTagSectionHandler();

        }

        private static void ExampleSingleTagSectionHandler() {
            //SingleTagSectionHandler会以hashtable的形式返回节点的所有属性
            Hashtable mailServer = (Hashtable)ConfigurationManager.GetSection("mailServeraddress");//调用GetSection会返回一个hashtable

            string address = mailServer["address"].ToString();
            string username = mailServer["username"].ToString();
            string passWord = mailServer["password"].ToString();

            Console.WriteLine(address+"----"+username+"------"+passWord);

        }
    }
}

         

             配置文件写好后,调用GetSection强转hashtable后,就可以用key——value的形式读取节点的属性值了。

             在.net中,除了上面例子中的这个type,我们也可以使用其它内置type来处理自定义节点。

时间: 2024-08-02 21:40:53

.Net——使用.net内置处理程序处理自定义节点Demo的相关文章

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

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

百度有啊前端框架分析(浏览器内置事件)

   事件是JavaScript中非常重要的一个内容,在百度有啊的前端框架中主要对事件分成了浏览器内置事件和自定义事件两部分. BBEvent下主要对浏览器内置事件进行了标准化. target :事件目标对象 BBEvent.target = function(A) { A = A || window.event; return A.target || A.srcElement; }; isLeftClick :判断是否为鼠标左键点击 BBEvent.isLeftClick = function

自定义设置win8内置SkyDrive存储位置的方法

  SkyDrive是一项完美地与系统相结合的云存储服务,也是微软提供给用户便利的一项服务.但是在windows8.1中内置的SkyDrive系统默认的存储位置,让有些用户觉得用起来一点都不方便,想换一个存储的位置.那么我们应该怎么样,才能达到目的呢? 自定义设置win8内置SkyDrive存储位置的方法介绍: 打开"这台电脑" 左侧导航栏右键点击skydrive图标,选取"属性" 打开属性菜单后,找到"位置"标签,下方地址栏填写新的存储位置,或

Hive内置运算函数,自定义函数(UDF)和Transform

4.Hive函数 4.1内置运算符 内容较多,见<Hive官方文档>   4.2内置函数 内容较多,见<Hive官方文档> https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF   测试各种内置函数的快捷方法: 1.创建一个dual表 create table dual(id string); 2.load一个文件(一行,一个空格)到dual表 hive> load data local inp

浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】

原文:浏览器扩展系列----给MSTHML添加内置脚本对象[包括自定义事件] 使用场合:          在程序中使用WebBrowser或相关的控件如:axWebBrowser等.打开本地的html文件时,可以在html的脚本中使用自己在.net中定义的类,实现与Internet Explorer server的互操作.此外也可以在充分利用html在设计界面方面高效,简单的同时,也可以实现一些复杂的特性. 实现: Codepublic class ScriptEvent     {     

内置函数datediff的妙用

vb中有许多内置的函数都是非常实用,非常棒的,本文就针对datediff来进行介绍! 1.函数作用: 返回两个日期之间的时间间隔. 举例: DateDiff("d", Now, theDate) d代表天(日) now 是当前时间, theDate 就是我们自己定义的一个时间 那么,整个函数的结果就是自定义时间与当前时间的日期差. (顺便将常用的列举一下,s秒.m分钟.h小时.d日.n月.y年) 根据这个函数,我们来制作一个发布时间,显示为多久前的效果 <% limit=Date

扩展ASP.NET内置GridView控件之一

asp.net|控件 本文Bilal Haidar详细解释如何扩展ASP.NET2.0内置的GridView控件,同样还将解释了扩展后的GridView控件所具有的新的重要特征:基于行的上下文菜单和GridViews行的过滤功能. 引言 本文将聚焦对ASP.NET2.0内置的GridView进行扩展的一系列新功能.其中本文介绍两个主要特征:基于行的上下文菜单(Row_base ContextMenu)和基于过滤功能的GridView的行,在上周我曾经介绍了GridView控件. 在我们自定义的G

C# 2.0新特性探究之模拟泛型和内置算法

算法 在C#2.0中,匿名方法.IEnumerable接口和匿名方法的合作,使很多的编程任务变得非常的简单,而且写出来的程序非常的优美. 比如,我们可以写出如下的代码: List<Book> thelib = Library.getbooks(); List<Book> found = thelib.FindAll(delegate(Book curbook) { if (curbook.isbn.StartsWith("...")) return true;

利用 ASP.NET 的内置功能抵御 Web 攻击

asp.net|web|攻击 摘要: Dino 总结了最常见的 Web 攻击类型,并介绍了 Web 开发人员可以如何使用 ASP.NET 的内置功能来改进安全性. 一.ASP.NET 开发人员应当始终坚持的做法 如果您正在阅读本文,可能就不需要再向您灌输 Web 应用程序中的安全性愈来愈重要这一事实了.您需要的可能是一些有关如何在 ASP.NET 应用程序中实现安全性的实际建议.坏消息是,没有任何开发平台 - 包括 ASP.NET在内 - 能够保证一旦采用了该平台,您就能够编写百分百安全的代码.