快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

 .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接口,这样我们还可以自行进行扩展,以设计出我们自已的配置形式。

(待续)






返回类别: 教程
上一教程: 在.NET中实现彩色光标,动画光标和自定义光标
下一教程: [GDI+] ColorMatrix 彩色矩阵

您可以阅读与"如何使用.NET配置文件(一)"相关的教程:
· 如何使用.net操作ddeml?
· .Net配置文件常用配置说明
· asp.net中的vb7中如何使用socket作一个传送时间的server
· .NET下INI配置文件操作类
· 熟悉ASP.NET配置文件Web.config
    微笑服务 优质保证 索取样品