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

.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类型。

分享到:
评论

相关推荐

    .NET框架设计 模式、配置、工具 王清培(著)

    - **配置节**:为了更好地组织配置信息,.NET框架支持将配置文件划分成多个配置节,每个配置节对应一类配置项,例如connectionStrings、appSettings等。 - **配置工具**:Visual Studio等IDE提供了图形界面的配置...

    在IIS与.net框架中配置中把扩展名.aspx改成自定义的扩展名.mspx

    除了在IIS中进行配置外,还需要修改ASP.NET应用程序的配置文件——web.config,以便.NET框架能够识别新的扩展名.mspx。 #### 修改示例: ```xml *" path="*.mspx" type="System.Web.UI.PageHandlerFactory"/...

    xml、web服务和.net框架

    在.NET框架中,XML被广泛应用于数据持久化、配置文件、序列化和通信。例如,XML配置文件允许开发者在不重新编译代码的情况下更改应用程序设置。XML序列化则可以将对象的状态转换为XML文档,便于存储或在网络上传输。...

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

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

    .NET框架类在ASP.NET中的使用

    5. **异常处理**:.NET框架提供了全局异常处理机制,可以在Global.asax文件中捕获和处理应用程序级别的异常。 6. **安全性**:ASP.NET提供了身份验证、授权、加密解密等安全特性,确保应用程序的安全运行。 7. **...

    NET框架设计 模式、配置、工具.pdf

    这本书涵盖了.NET框架设计的各个方面,包括但不限于设计模式、配置管理以及各种开发工具的使用,旨在帮助开发者提升.NET平台上的编程技能。 **设计模式**是软件工程中的重要概念,它们是经过实践检验的解决方案模板...

    一个.net配置文件加密的源代码

    如果配置文件中的敏感信息以明文形式存在,任何可以访问文件的人都能获取到这些数据,因此加密是必要的安全措施。尤其是当应用部署在不受信任的环境中,如互联网,加密尤为重要。 4. **.NET配置文件加密方法**: ...

    致VB-一个用VB.NET写的高效配置文件读写类(转换后 可用于 c#)

    在.NET框架中,配置文件通常被用来存储应用的设置、连接字符串或其他可配置的数据。这些文件通常是XML格式的,如app.config或web.config。然而,直接操作XML文件可能会比较繁琐,需要处理解析和序列化的过程。因此,...

    Microsoft.NET框架程序设计 PDF格式

    8. **调试和性能优化**:书中可能还会讨论如何使用Visual Studio等工具进行调试,以及如何通过优化代码、配置CLR参数等方式提高.NET应用的性能。 9. **版本控制和兼容性**:随着.NET框架的不断迭代,如何管理和升级...

    Spring.NET框架参考文档

    10. **配置与元数据**:Spring.NET使用XML或基于属性的配置文件来定义对象及其依赖关系,也可以利用.NET的特性元数据来声明依赖。这使得配置灵活且易于理解。 通过深入学习“Spring.NET框架参考文档”,你可以全面...

    一个很方便的.net配置文件管理类,省去类型转换之类的麻烦,

    标题中的“一个很方便的.net配置文件管理类”指的是在.NET框架中用于简化应用程序配置文件处理的自定义类。这类类库通常提供了一种简洁的方法来读取、写入和管理App.config或Web.config等配置文件,避免了使用System...

    Ibatis.net框架和Spring.Net框架的实例代码

    在IT行业中,开发高效、可维护的软件系统是至关重要的,而Ibatis.net和Spring.Net框架就是这样的工具,它们能够帮助开发者实现数据访问层的高效管理。本文将深入探讨这两个框架,并结合提供的"IbatisNetTest"文件名...

    asp.net 框架的使用实例

    在提供的压缩包文件中,“Ex02_02”可能是一个包含实现聊天室的ASP.NET页面和相关脚本的示例项目,而“Database”可能包含了用于存储聊天记录的数据库文件或相关的数据库连接配置。“Ex02_01”可能是企业管理系统...

    .NET C# ASP.NET 文字转语音.zip

    在.NET框架中,C#和ASP.NET结合使用可以创建丰富的Web应用程序。在这个特定的".NET C# ASP.NET 文字转语音.zip"项目中,开发者利用了Text-to-Speech(TTS)技术,将文字转化为可听的语音。这种技术在各种应用场景中...

    .net框架程序设计(英文版)

    3. **类库使用**:详细介绍.NET框架提供的各种类库及其使用方法,包括但不限于集合类、文件系统操作、网络通信等功能。 4. **高级主题**:涉及线程管理、异常处理、安全策略等方面的内容,帮助开发者解决复杂问题。 ...

    Spring.NET框架参考文档_中文版

    9. **XML和基于代码的配置**:Spring.NET允许通过XML配置文件或C#代码来配置应用程序组件。XML配置是最常见的,但基于代码的配置方式也可以提供更直观的API体验。 10. **IoC容器扩展**:Spring.NET框架设计为高度可...

Global site tag (gtag.js) - Google Analytics