使用 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()); 该文章在 2021/5/11 18:42:19 编辑过 |
关键字查询
相关文章
正在查询... |