• 使用 ConfigurationSection 创建自定义配置节


    我们可以通过用自己的 XML 配置元素来扩展标准的 ASP.NET 配置设置集,要完成这一功能,我们必须实现继承System.Configuration.ConfigurationSection 类来实现自定义配置节,在1.0中当然也可以通过IconfigurationSectionHandler 接口创建自定义配置节!这里我们主要学一下通过ConfigurationSection类来实现简单的配置处理程序.
          先看一下在web.config文件中的配置情况,在这里有两个元素,第一个mysection,有两个属性user,password,第二个也有两个属性element1,和element2。配置比较简单。
      <!--//////////////////////////////////////////////////////////////////////////////////////////////-->
      
    <configSections>
        
    <sectionGroup name="mygroup">
          
    <section name="mysection"
                           type
    ="ConfigSection"
                            allowDefinition
    ="Everywhere"
                             allowLocation
    ="true"/>
        
    </sectionGroup>
      
    </configSections>
      
    <!--//////////////////////////////////////////////////////////////////////////////////////////////-->

      
    <mygroup>
        
    <mysection  user="用户" password="密码">
          
    <element element1="属性1" element2="属性2"></element>
        
    </mysection>
      
    </mygroup>

           理解配置文件结构后,我们就需要用继承自System.Configuration.ConfigurationSection的基类来实现简单的配置类ConfigSection,在2.0中,我们只需要这一个类就能实现完成配置,下面请看代码:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    /// <summary>
    /// ConfigSection 的摘要说明
    /// </summary>
    public class ConfigSection:ConfigurationSection
    {
        
    public ConfigSection()
        {
            
    //
            
    // TODO: 在此处添加构造函数逻辑
            
    //
        }
    [ConfigurationProperty(
    "user",DefaultValue="yanghong",IsRequired=true)]
        
    public string User
        {
            
    get { return (string)this["user"]; }
            
    set { this["user"= value; }
        }

        [ConfigurationProperty(
    "password",DefaultValue="password",IsRequired=true)]
        
    public string PassWord
        {
            
    get {  return (string)this["password"]; }
            
    set { this["password"= value; }
        }

        [ConfigurationProperty(
    "element")]
        
    public elementinfo Element
        {
            
    get { return  (elementinfo)this["element"]; }
            
    set {this["element"= value; }
        }
    }
     
    public class elementinfo : ConfigurationElement
    {
        
    public elementinfo()    { }


        [ConfigurationProperty(
    "element1", DefaultValue = "element1", IsRequired = true)]
        
    public string Element1
        {
            
    get { return (string)this["element1"]; }
        }

        [ConfigurationProperty(
    "element2",DefaultValue="element2",IsRequired=true)]
        
    public string Element2
        {
            
    get { return (string)this["element2"]; }
        }


    }



       通过下面的代码就可以获得在配置文件中设置的值了
    ConfigSection config = (ConfigSection)ConfigurationManager.GetSection("mygroup/mysection");
            Response.Write(
    "用户名:"+config.User.ToString() + "密码:" + config.PassWord.ToString() + "元素属性:" + config.Element.Element1.ToString() + config.Element.Element2.ToString());
  • 相关阅读:
    MD5算法MFC实现
    asp.net2.0新特点
    file format
    C专家编程第二章学习笔记
    Bye Czech golden generation
    中间层
    学完谭C之后
    C语言学习之路
    荀子劝学篇
    C语言常用转义字符表
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/3618435.html
Copyright © 2020-2023  润新知