>  기사  >  백엔드 개발  >  .Net - .net 내장 핸들러를 사용하여 사용자 정의 노드 처리 데모

.Net - .net 내장 핸들러를 사용하여 사용자 정의 노드 처리 데모

黄舟
黄舟원래의
2017-02-24 10:34:221510검색

.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이며 섹션에 세 가지 속성이 있습니다. 이 노드를 처리하기 위해 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을 호출하여 해시 테이블을 강제 적용한 후 노드의 속성 값을 키-값 형식으로 읽을 수 있습니다.

.net에서는 위 예의 유형 외에도 다른 내장 유형을 사용하여 사용자 정의 노드를 처리할 수도 있습니다.


위의 내용은 .Net입니다. .net 내장 핸들러를 사용하여 사용자 정의 노드 데모의 내용을 처리합니다. PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!










성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.