c# 配置文件之configSections配置(三)
使用IConfigurationSectionHandler配置configSections
·步骤1:定义一个实体类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
/// <summary>
/// 说明:
/// 创建日期:2016/10/27 8:54:11
/// 创建人:曹永承
/// </summary>
public class Conn
{
public string DataBase { get; set; } public string Server { get; set; } public string UserId { get; set; } public string Password { get; set; } public override string ToString()
{
return string.Format("server={0};database={1};user id={2};password={3}", Server, DataBase, UserId, Password);
}
}
}
步骤2:定义一个ConnSectionHandler类实现IConfigurationSectionHandler接口
using System.Configuration;
using System.Xml; namespace ConsoleApplication1.config
{
/// <summary>
/// 说明:
/// 创建日期:2016/10/27 8:52:35
/// 创建人:曹永承
/// </summary>
public class ConnSectionHandler : IConfigurationSectionHandler
{
public object Create(object parent, object configContext, XmlNode section)
{
Conn conn = new Conn(); if (section != null)
{
foreach (XmlNode node in section.ChildNodes)
{
switch (node.Name)
{
case "server":
conn.Server = node.SelectSingleNode("@value").InnerText;
break;
case "database":
conn.DataBase = node.SelectSingleNode("@value").InnerText;
break;
case "userid":
conn.UserId = node.SelectSingleNode("@value").InnerText;
break;
case "password":
conn.Password = node.SelectSingleNode("@value").InnerText;
break;
} }
} return conn;
}
}
}
步骤3:配置xml
<configSections>
<section name="conn" type="ConsoleApplication1.config.ConnSectionHandler,ConsoleApplication1"/>
</configSections>
<conn>
<server value="(local)"/>
<database value="testDB"/>
<userid value="sa"/>
<password value="123456"/>
</conn>
步骤4:测试代码
Conn conn = ConfigurationManager.GetSection("conn") as Conn ;
Console.WriteLine(conn);
Console.ReadKey();
输出结果:
c# 配置文件之configSections配置(三)的更多相关文章
- c# 配置文件之configSections配置
对于小型项目来说,配置信息可以通过appSettings进行配置,而如果配置信息太多,appSettings显得有些乱,而且在开发人员调用时,也不够友好,节点名称很容易写错,这时,我们有几种解决方案 ...
- c# 配置文件之configSections配置(二)
在很多时候我们需要自定义我们自己的自定义App.config 文件,而微软为我们提供了默认的 System.Configuration.DictionarySectionHandler System. ...
- 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置
[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
- MyBatis(三):核心配置文件的重要配置
本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出1便就懂!b站搜索狂神说即可 https://space.bilibili.com/95256449?spm_id_from=333.788 ...
- App.config和Web.config配置文件的自定义配置节点
前言 昨天修改代码发现了一个问题,由于自己要在WCF服务接口中添加了一个方法,那么在相应调用的地方进行更新服务就可以了,不料意外发生了,竟然无法更新.左查右查终于发现了问题.App.config配置文 ...
- (转)struts2.0配置文件、常量配置详解
一.配置: 在struts2中配置常量的方式有三种: 在struts.xml文件中配置 在web.xml文件中配置 在sturts.propreties文件中配置 1.之所以使用struts.prop ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- 【RAC】 RAC For W2K8R2 安装--共享磁盘的配置(三)
[RAC] RAC For W2K8R2 安装--共享磁盘的配置(三) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学 ...
随机推荐
- Maps for Developers
苹果官方文档: Give your apps a sense of place with maps and location information. Present maps with custom ...
- 【转】PowerShell入门(九):访问.Net程序集、COM和WMI
转至:http://www.cnblogs.com/ceachy/archive/2013/02/28/PowerShell_DotNet_COM_WMI.html PowerShell可以设计的大而 ...
- Hibernate Criteria Restrictions
HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于equal <> Restrictions.ne() 不等于not equal > Restrict ...
- 如何修改VPN连接的MTU,解决频繁断线和页面打不开的问题
如何修改VPN连接的MTU,解决频繁断线和页面打不开的问题 MTU 介绍:MTU 即最大传输单元,它是指一种通信协议的某一层上面所能通过的最大数据包大小.为什么需要修改 MTU大多数设备原本支持通过 ...
- javaWeb 使用 filter 处理 html 标签问题
1.web.xml代码 <filter> <filter-name>HtmlFilter</filter-name> <filter-class>de. ...
- ASP。net 测验
Login.aspx using System; using System.Collections.Generic; using System.Linq; using System.Web; usin ...
- 至强CPU性能排行,从X3210起,由低至高排列。
X3210X3220E5410E5506X5355X3320E5507X5365E5-2603E3-1220LE5-2403E5607X3330L5506X3230L5420E5-2407W3520E ...
- [问题2014S09] 解答
[问题2014S09] 解答 充分性: 先证明对 Jordan 块 \(J_r(1)\) 以及任意的正整数 \(m\), 均有 \(J_r(1)^m\) 相似于 \(J_r(1)\). 设 \(N ...
- How To Use DBLink In Oracle Forms 6i
You want to connect multiple databases in oracle forms to perform certain tasks, for example you nee ...
- BI Content、Metadata Repository
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...