- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在.NET框架下使用自定义配置设置
在.NET框架下使用自定义配置设置
在.NET框架下使用自定义配置设置
发布时间:2007-04-30 08:00:00 来源: 作者: 点击:222
.NET框架通过基于XML的配置使配置设置驾轻就熟。它同时还提供了必要的方法,通过集合类(Collection classes)访问这些设置。
通过一个静态的ConfigurationSettings类可访问实际的配置数据。该类还提供了一个GetConfig()方法,可向一个合适的集合返回一个对象。本文中,我将示范三种可用来访问和存储配置信息的方法。
应用配置数据存储在App.config文件,并由configSections节点定义。每一section都有一个type属性定义。这里我将讨论的3个类型为NameValueSectionHandler、SingleTagSectionHandler和DictionarySectionHandler。你可以用一个sectionGroup元素定义节组。以下是一个配置节定义的例子:
<section name=MyCustomSection
type=System.Configuration.NameValueSectionHandler/>
建议使用type=System.Configuration.NameValueSectionHandler,System,Version=1.0.3300.0,Culture=neutral, PublicKeyToken=b77a5c561Array34e08Array
节组是嵌入一个sectionGroup元素的独立配置节。以下是一个节组的例子:
<sectionGroup name=CustomGroup>
<section name=Custom1
type=System.Configuration.NameValueSectionHandler/>
<section name=Custom2 type=System.Configuration.NameValueSectionHandler/>
</sectionGroup>
最后,你所指定的配置节将用于构造存储配置数据的自定义的XML节点。若要向配置节添加数据,只要将该配置节作为一个XML节点包含进去,并用add节点添加Collection数据。下例为一个NameValueSectionHandler配置节:
<MyCustomSection>
<add key=key1 value=value1/>
<add key=key2 value=value2/>
</MyCustomSection>
MyCustomSection程序段包含一个命名值集合,其两个入口由key1和key2定义。
SingleTagSectionHandler较容易构造。正如NameValueSectionHandler,配置节可在configSections节点中找到。但在SingleTagSectionHandlers和NameValueSectionHandlers中,配置数据的添加方式是不同的,如下所示:
. . .
<section name=MySingleTagSection
type=System.Configuration.SingleTagSectionHandler/>
. . .
<MySingleTagSection setting1=value1 setting2=value2 setting3=value3/>
. . .
DictionarySectionHandler与NameValueSectionHandler相似,但前者返回hashtable,后者返回NameValueCollection。当访问大量配置值时,hashtable要快于NameValueCollectio。DictionarySectionHandler与NameValueSectionHandler的构造方式相同,如下例:
. . .
<section name=MyDictionarySection
type=System.Configuration.DictionarySectionHandler/>
. . .
<MyDictionarySection>
<add key=key1 value=value1/>
</MyDictionarySection>
. . .
我自己用了一下,报错。。原因还挺特别
System.Configuration.DictionarySectionHandler,System,Version=1.0.3300.0,Culture=neutral
文档评论(0)