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 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学 ...
随机推荐
- [课程设计]Scrum 1.4 多鱼点餐系统开发进度(点餐页面框架布置)
Scrum 1.4 多鱼点餐系统开发进度 (点餐页面框架布置) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系 ...
- js 多少天以后的时间
/** * 多少天以后的时间 * @param date 时间 * @param num 多少天 * @param type 类型 年 月 天(默认天) */ exports.afterDate = ...
- asp.net 加载xml到menu
XML File <?xml version="1.0" encoding="utf-8" ?> <Area iAreaID ="0 ...
- HTML5正确的嵌入flash
<object type="application/x-shockwave-flash" data="your-flash-file.swf" width ...
- javascript 设计模式2----策略模式
1.定义:定义一系类的算法,把它们一个个封装起来,并且使它们可以相互替换 2.解释:就是把算法和一个规则单独分封,在使用时单独调用. 简单例子: var strategies = { "S& ...
- html、css 【珍藏】
行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效. 块级元素: 各占据一 ...
- JavaScript高级应用(二)(转)
1.组件是否安装 //组件是否安装 isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "com ...
- linux dynamic debug 官方教程
下载内核后,文档在:Documentation/dynamic-debug-howto.txt 中文版本:http://www.oschina.net/translate/dynamic-debug- ...
- [问题2014A03] 复旦高等代数 I(14级)每周一题(第五教学周)
[问题2014A03] 设 \(A=(a_{ij})\) 为 \(n\,(n\geq 3)\) 阶方阵,\(A_{ij}\) 为第 \((i,j)\) 元素 \(a_{ij}\) 在 \(|A|\) ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程
关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...