程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 自定義應用程序配置節點

自定義應用程序配置節點

編輯:C#入門知識

在開發中,相信大家經常都要和配置文件打交道,不管是應用程序的App.config文件,或者是Web程序的Web.config文件。今天閒來無事,突然想到一直只是在用*.config文件進行配置參數,卻從未做過自定義配置節點的開發,稍微研究了一下,寫下此文記錄學習心得。
先介紹一下本文中涉及到的配置文件分別為 App.config 和 Collector.config。

App.config

 
 
   
     
       
     
   
   
      
   
   
      
   
 

Collector.config

 
 
   
      
      
   
 

把 Collector.config 的配置節點從 App.config 中分離出來,主要是為了演示 configSource 的使用。 configSource 只在自定義的 section 節點中可用。

開發自定義配置節點主要涉及到如下幾個類:

CollectorSectionGroup 繼承自 ConfigurationSectionGroup 對應的節點為  以及 ,主要用於定義自定義節點集合,代碼如下所示:

  
                   [ConfigurationProperty(, IsRequired =                         {  Sections[]    }

BackupSection 繼承自 ConfigurationSection 對應的節點為 以及 ,主要用於定義自定義節點。類中定義了一個 Path 屬性以及TriggedTimes 元素集合屬性,分別對應節點為 和,代碼如下所示:

  
                   [ConfigurationProperty(, IsRequired =                          {  [               { [] =  
         [ConfigurationProperty(, IsRequired =          [ConfigurationCollection(                        {  []                { [] =   }

 TriggedTimeCollection 繼承自 ConfigurationElementCollection 對應的節點為 ,代碼如下所示:

  
                                     
                            }

 TriggedTime 繼承自 ConfigurationElement 對應節點為 ,代碼如下所示:

   
                   [ConfigurationProperty(, IsRequired =                         {  (TimeSpan)[               { [] =   }

演示代碼主要演示了顯示

   
                   Main(                configuration =              sectionGroup = configuration.GetSectionGroup()               (sectionGroup !=                   sectionGroup.BackupSection.Path =      
          
                   
                         configuration =              sectionGroup = (CollectorSectionGroup)configuration.GetSectionGroup( 
              (sectionGroup !=                    (TriggedTime triggedTime                       Console.WriteLine(     }

如果需要對 Web 應用程序的 Web.config 配置信息進行修改,與 App.cnfig 不同的是,需要使用 WebConfigurationManager 類而不是 ConfigurationManager 類,代碼如下所示:

                  configuration = WebConfigurationManager.OpenWebConfiguration(                  settings =                 settings.Remove(                 settings.Add(                 configuration.Save();

文中涉及代碼可點擊此處進行下載。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved