·您的位置: 首页 » 资源教程 » 编程开发 » ASP.NET » 如何使用.NET配置文件(一)

如何使用.NET配置文件(一)

类别: ASP.NET教程  评论数:0 总得分:0
 .NET的应用程序配置文件,使用的是XML格式。相对INI文件来说,它的功能要强上不少,而且具有很强的可扩展性。它的缺点是不能直接进行写操作,也就是说,不能直接在程序中修改配置文件的数据(当然不是指不能,不过不是本文讨论的范围)。本文主要目的是探讨如何扩展配置文件,并在其加入各种自定义配置信息。

    .NET的应用程序配置文件,使用的是XML格式。相对INI文件来说,它的功能要强上不少,而且具有很强的可扩展性。它的缺点是不能直接进行写操作,也就是说,不能直接在程序中修改配置文件的数据(当然不是指不能,不过不是本文讨论的范围)。本文主要目的是探讨如何扩展配置文件,并在其加入各种自定义配置信息。
   
    1. 使用<appSettings>
        简单的配置信息,可以直接放入<appSettings>标记中。如:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
  <appSettings>
 <add key=\"LogFile\" value=\"d:/log/debug.log\"/>
  </appSettings> 
</configuration>
        相应访问代码如下:       
string fileName = System.Configuration.ConfigurationSettings.AppSettings.Get(\"LogFile\");
 
    2. 自定义配置节(section)名称
        比如,我们要使用下面的配置结构,将配置信息归类分组:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<configuration>
<!-- 需要在此处加入自定义配置声明 -->
<!-- 以下是自定义配置的内容 -->
<myConfig>
  <myDictionary>
    <add key=\"Area\" value=\"Fuzhou\"/>
    <add key=\"Device\" value=\"Printer\"/> 
    <add key=\"Customer\" value=\"Muf\"/>
  </myDictionary>
  <myNameValue>
    <add key=\"Area\" value=\"Fuzhou\"/>
    <add key=\"Device\" value=\"Printer\"/> 
    <add key=\"Customer\" value=\"Muf\"/>
  </myNameValue>
  <myInfo
    Area=\"Fuzhou\" Device=\"Printer\" Customer=\"Muf\"
  />
</myConfig>
</configuration>

        但是这样是不行的。我们必须要在配置文件前面加入声明:
  <!-- 以下是自定义配置的声明 -->
  <configSections>
    <sectionGroup name=\"myConfig\">
         <section name=\"myDictionary\"
            type=\"System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />
        <section name=\"myNameValue\"
            type=\"System.Configuration.DictionarySectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />
        <section name=\"myInfo\"
            type=\"System.Configuration.SingleTagSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />
    </sectionGroup>
  </configSections> 

        把这一段放入配置文件中,我们的配置结构就可以正常使用了。声明中,<sectionGroup>用来定义不含配置数据的节的名称。<section>用来定义含有自定义配置数据的节的名称。<section type>用来指定定义配置数据的类型。.NET已经定义了3种配置类型:
  a. NameValueSectionHandler
        相应访问代码如下:        
NameValueCollection myNameValue= (NameValueCollection)System.Configuration.ConfigurationSettings.AppSettings.Get(@\"myConfig/myNameValue\");
string Area = myNameValue[\"Area\"];
string Device= myNameValue[\"Device\"];
string Customer = myNameValue[\"Customer \"];

  b. DictionarySectionHandler
        相应访问代码如下:        
Hashtable myNameValue= (Hashtable)System.Configuration.ConfigurationSettings.AppSettings.Get(@\"myConfig/myDictionary\");
string Area = myNameValue[\"Area\"];
string Device= myNameValue[\"Device\"];
string Customer = myNameValue[\"Customer \"];

  c. SingleTagSectionHandler
        相应访问代码如下:        
Hashtable myNameValue= (Hashtable)System.Configuration.ConfigurationSettings.AppSettings.Get(@\"myConfig/myInfo\");
string Area = myNameValue[\"Area\"];
string Device= myNameValue[\"Device\"];
string Customer = myNameValue[\"Customer \"];

        这三种类型的详细信息,可以参考 MSDN 文档。同时.NET 还定义了IgnoreSectionHandler类型,为 System.Configuration 之外的系统所读取和处理的配置节提供节处理程序定义。
        除此之外,.NET提供了IConfigurationSectionHandler接口,这样我们还可以自行进行扩展,以设计出我们自已的配置形式。

(待续)





-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1