`
yidongkaifa
  • 浏览: 4069346 次
文章分类
社区版块
存档分类
最新评论

.NET 框架中使用配置文件(转)

 
阅读更多

.NET框架通过基于XML的配置使配置设置驾轻就熟。它同时还提供了必要的方法,通过集合类(Collection classes)访问这些设置。

通过一个静态的ConfigurationSettings类可访问实际的配置数据。该类还提供了一个GetConfig()方法,可向一个合适的集合返回一个对象。本文中,我将示范三种可用来访问和存储配置信息的方法。

应用配置数据存储在App.config文件,并由configSections节点定义。每一section都有一个type属性定义这里我将讨论的3个类型为NameValueSectionHandler、SingleTagSectionHandlerDictionarySectionHandler。你可以用一个sectionGroup元素定义节组。以下是一个配置节定义的例子:

type="System.Configuration.NameValueSectionHandler"/>

节组是嵌入一个sectionGroup元素的独立配置节。以下是一个节组的例子:

type="System.Configuration.NameValueSectionHandler"/>

最后,你所指定的配置节将用于构造存储配置数据的自定义的XML节点。若要向配置节添加数据,只要将该配置节作为一个XML节点包含进去,并用add节点添加Collection数据。下例为一个NameValueSectionHandler配置节:


MyCustomSection程序段包含一个命名值集合,其两个入口由key1key2定义。

SingleTagSectionHandler较容易构造。正如NameValueSectionHandler,配置节可在configSections节点中找到。但在SingleTagSectionHandlersNameValueSectionHandlers中,配置数据的添加方式是不同的,如下所示:

. . .

type="System.Configuration.SingleTagSectionHandler"/>
. . .

. . .

DictionarySectionHandlerNameValueSectionHandler相似,但前者返回hashtable,后者返回NameValueCollection。当访问大量配置值时,hashtable要快于NameValueCollectioDictionarySectionHandlerNameValueSectionHandler的构造方式相同,如下例:

. . .

type="System.Configuration.DictionarySectionHandler"/>
. . .



. . .

构造节组的方法与构造单独配置节的方法基本相同,唯一的不同在于前者的自定义节点互相嵌套。借用前面的节组定义,以下是对节组的实现:






通过System.Configuration.ConfigurationSettings命名空间的GetConfig()方法和自定义配置节的串值来访问应用配置设置,然后将该方法的结果转为合适的类型。

对于SingleTagSectionHandler,将结果转为System.Collections命名空间的IDictionary接口类型。对于NameValueSectionHandler,结果转为在System.Collections.Specialized命名空间中定义的NameValueCollection类型。最后,对于DictionarySectionHandler,结果转为System.Collections命名空间中的Hashtable类型。

分享到:
评论

相关推荐

    admin.net框架docker部署前端nginx配置文件

    admin.net框架docker部署前端nginx配置文件

    Spring.net框架

    从中我们可以看出,我们实现了一个IocInCSharp.ConfigHandler类,用来处理配置文件中IocInCSharp\ objects结点中的内容。ConfigHandler类将根据该结点下的内容处理并创建一ConfigInfo对象(关于ConfigInfo、 ...

    GoldArch.net框架源码

    GoldArch.net框架源码 GoldArch.net(黄金框架)介绍 准确的说,应该叫黄金组合,把几款开源的框架组合。 总体架构是:asp.net+ms mvc 1.0+spring.net+nhibernate+extjs(and coolite) 目前的目标是应用这种组合做一...

    。NET框架文件,用于运行。NET框架

    .NET 框架配置程序,安装。NET框架

    .net网站框架

    .net网站开发框架,基础类是动软生成,后台权限控制,前台页面权限控制可用配置文件配置

    Snake.net框架

    优秀的持久层框架--Snake.net ...Snake.Net可以通过配置文件设置不同的持久模式(缓存、对象池等)。 5. 增强的数据访问功能,支持EQL(Entity Query Language 实体查询语言),事务环境,数据绑定等高级应用。

    PDF.NET数据开发框架V3.0演示版

    ---春节已经过了,本资源优惠奉送了,再次促销,只需2分!... * 一套实用工具,可以生成实体类和根据SQL配置文件自动生成代码的代码生成器以及SQL配置文件管理程序。 * 更多的功能等待你去发现:)

    Asp.Net快速开发框架(eFrameWork v2.0.1)

    eFrameWork(asp.net)开发框架(以下简称框架)是E客开发团队(EKETEAM以下简称e客)从业十余年开发经验的累积,经众多项目磨合及客户意见、建议不断优化完善而来。 框架主要用于B/S架构的应用系统及网站开发,本身并...

    ASP.NET 控件的使用

    9.1.3 在Web配置文件中保存连接字符串 258 9.1.4 对连接字符串加密 260 9.2 执行数据库命令 261 9.2.1 执行内联SQL语句 261 9.2.2 执行存储过程 263 9.2.3 过滤数据库行 264 9.2.4 改变数据源模型 266 9.2.5 处理SQL...

    asp.net快速开发框架

    5.简单易用,在线配置即可完成常规模块的开发,降低开发门槛。 6.卓越的性能表现。 7.支持系统在线开发、维护。 8.灵活的自定义让框架能适应更多场景成为可能。 9.支持传统asp.net及MVC。 10.提供基础的角色权限。 ...

    spring.net中文手册在线版

    4.15.从其它文件中导入对象定义 4.16.服务定位器访问 第五章. IObjectWrapper接口和类型转换 5.1.简介 5.2.使用IObjectWrapper接口管理对象 5.2.1.读、写普通及嵌套的属性 5.2.2.其它功能 5.3.类型转换 5.3.1.转换...

    asp.net知识库

    .Net框架下的XSLT转换技术简介 一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0...

    Asp.Net快速开发框架(eFrameWork v1.0.2)

    eFrameWork(asp.net)开发框架(以下简称框架)是E客开发团队(EKETEAM以下简称e客)从业十余年开发经验的累积,经众多项目磨合及客户意见、建议不断优化完善而来。 框架主要用于B/S架构的应用系统及网站开发,本身并...

    基于Spring[1].NET的技术架构及开发规范 - .pdf

    1 Spring.NET框架介绍 1.1 Spring.NET简介 1.2 Spring.NET体系结构图 1.3 Spring.NET相关概念 1.4 Spring.NET优势和适用场景 1.5 Spring.NET1.3.1所涉及的动态链接库 2 基于Spring.NET的系统架构 3 总体设计 3.1 ...

    IBatis.Net使用方法

    2、修改配置文件 最简单的方式是直接修改NPetshop.Web目录下的dao.config,如下一条语句: ;Data Source=F:\Study\_Net\框架\iBATIS.NET\NPetshop\NPetshop.Web\npetshop.mdb"/> 将其中的路径改成你自己的路径。 ...

    Asp.Net快速开发框架(eFrameWork v2.0.0)

    eFrameWork(asp.net)开发框架(以下简称框架)是E客开发团队(EKETEAM以下简称e客)从业十余年开发经验的累积,经众多项目磨合及客户意见、建议不断优化完善而来。 框架主要用于B/S架构的应用系统及网站开发,本身并...

    C#.NET通用开发框架源码2017

    一、源码描述 此开发框架为免费开源的开发框架,会不断更新版本,旨在征集开源爱好者... 2、默认数据库连接字符串在webconfig配置文件中修改。 3、 此版本完全开源,不收任何费用,可以任用于商业,但要保留版权信息。

    Quartz.Net调度框架配置解析

    那今天就来介绍个开源的调度框架Quartz.Net(主要介绍配置的实现,因为有朋友问过此类问题)。调度的实现代码很简单,在源码中有大量Demo,这里就略过了。 Quartz.Net当前最新版本Quartz.NET 2.0 beta 1 Released 一...

    .Net开源 AOP框架 EnCase

    Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。

    基于.NET的轻量级高性能网络程序框架Mina.NET设计源码

    本资源提供了一套基于.NET的轻量级高性能网络程序框架Mina.NET的设计源码,包含373个文件,其中包括317个C#源代码文件,29个C#项目文件,以及6个配置文件。此外,还包括4个DLL文件,3个解决方案文件,以及2个...

Global site tag (gtag.js) - Google Analytics