曹永思

导航

ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节

主要代码,一定要继续System.Configuration.ConfigurationSection,具体的节点名称可以自行修改

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;

namespace Commons
{
    /// <summary>
    /// ConfigSection 的摘要说明
    /// </summary>
    public class MyConfigSection : ConfigurationSection
    {
        public MyConfigSection()
        { 
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        [ConfigurationProperty("user", DefaultValue = "admin", 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"]; }
        }


    }
}
View Code

配置文件

<configSections>
    <sectionGroup name="mygroup">
      <section name="mysection" type="Commons.MyConfigSection" allowDefinition="Everywhere" allowLocation="true"/>
    </sectionGroup>
  </configSections>

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

代码中使用值

 Commons.MyConfigSection config = (Commons.MyConfigSection)ConfigurationManager.GetSection("mygroup/mysection");
 Response.Write("用户名:" + config.User.ToString() + "密码:" + config.PassWord.ToString() + "元素属性:" + config.Element.Element1.ToString() + config.Element.Element2.ToString());

 

posted on 2016-06-27 16:26  曹永思  阅读(1210)  评论(1编辑  收藏  举报