使用 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.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());使用 ConfigurationSection 创建自定义配置节的更多相关文章
- C#创建自定义配置节
在.Net应用程序中,我们经常看到VS为我们生成的项目工程中都会含有nfig或者nfig这样的文件.这个文件就是我们所说的应用程序配置文件.在这个文件里面记述着一些与我们的应用程序相关的信息,如:数据 ...
- ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节集合
核心代码 using System; using System.Data; using System.Configuration; using System.Web; using System.Web ...
- ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节
主要代码,一定要继续System.Configuration.ConfigurationSection,具体的节点名称可以自行修改 using System; using System.Data; u ...
- C#如何使用和开发自定义配置节
在日常的程序设计中,如何灵活和巧妙地运用配置信息是一个成功的设计师的首要选择.这不仅是为了程序设计得更灵活性和可扩展性,也是为了让你的代码给人以清新的感觉.程序中的配置信息一般放在应用程序的app.c ...
- C#创建自定义配置节点
转载:http://www.educity.cn/develop/495003.html 在.Net应用程序中我们经常看到VS为我们生成的项目工程中都会含有app.config或者web.connfi ...
- C# 创建自定义配置节点1
转载:http://www.educity.cn/develop/495003.html 在.Net应用程序中我们经常看到VS为我们生成的项目工程中都会含有app.config或者web.connfi ...
- 迁移appseting.json创建自定义配置中心
创建一个自定义的配置中心,将框架中各类配置,迁移至数据库,支持切换数据库,热重载. 说在前面的话 自使用.net Core框架以来,配置大多存在json文件中: [框架默认加载配置]文件为appset ...
- C# App.config 自定义 配置节
1)App.config <?xml version="1.0" encoding="utf-8" ?><configuration> ...
- .NET:自定义配置节
背景 对于编译型应用程序来说,参数化程序行为是非常有必要的,.NET有其标准的配置方法,我们可以可以扩展. 示例 代码 using System; using System.Collections; ...
随机推荐
- iOS图片相似度比较
1. 缩小尺寸:将图像缩小到8*8的尺寸,总共64个像素.这一步的作用是去除图像的细节,只保留结构/明暗等基本信息,摒弃不同尺寸/比例带来的图像差异: 注:实际操作时,采取了两种尺寸作对比( ...
- MYSQL复习笔记3-用户和安全
Date: 20140115Auth: Jin参考:http://dev.mysql.com/doc/refman/5.1/en/security.html 一.权限系统实现方式相关权限信息存储在几个 ...
- iptables最常用的规则示例
iptables v1.4.21 iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”.规则存储在内核空间的信息 ...
- 利用cURL请外部接口
昨天有一个需求,就是需要把获取到的百度地图信息存储到百度地图LBS云储存上 看了一下LBS云储存,说白了就是通过接口操作云数据库,所以写了一个通用的cURL函数 代码如下: /** * @param ...
- 【JSP EL】<c:if> <c:foreach >EL表达式 获取list长度/不用循环,EL在List中直接获取第一项的内容/EL获取Map的键,Map的值
1.EL表达式 获取list长度 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" ...
- C/C++控制台输出时设置字体及背景颜色
1.改变整个控制台的颜色用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号.各颜色代码如下: 0=黑色 1=蓝色 2=绿色 3=湖蓝色 ...
- [Git] 给git命令起别名
转载自:http://blog.csdn.net/qinjienj/article/details/7479886 程序员都是"懒惰"的,哪怕是执行一个命令的时候少敲了一个字母也感 ...
- [UML] UML中类之间的几种关系
类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalizatio ...
- mongo 实时同步工具 mongosync
文档地址:https://github.com/Qihoo360/mongosync/wiki/%E4%BD%BF%E7%94%A8%E6%A0%B7%E4%BE%8B #数据全量备份mongodum ...
- lykchat信息发送系统
lykchat信息发送系统是Python3开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具. 实现的功能有用户登录管理.微信登陆管理和微信信息发送功能. 代码地址:https ...