在過去這一系列的文章中我們為各位介紹了,怎麼利用DynamicProperties快速設定來保留應用程式;怎麼規劃、自訂自己所屬的XML應用程式設定檔案;以及怎麼使用PropertyGrid控制項物件來讓應用程式的設定更加的方便,將設計時期的屬性視窗延伸到執行時期來對整個應用程式的環境來作配置;而本期我們將帶領各位讀者深入探討.NET Framework所提供的配置檔案(machine、security、application),當然為配合主題,我們將會把焦點放在Application配置檔案上,我們會為各位讀者說明利用DynamicProperties設定後產生的app.config內的appSettings配置區段(Configuration Section)是怎麼來的,以及key和value的配對關係;如何利用.NET Framework所提供的事先定義好的區段處理器(Section Handlers)來建立一個新的配置區段;如何將配置檔案內的Section群組化以利團隊模式開發;和要如何實作IConfigurationSectionHandler介面來自訂自己的區段處理器…等。首先讓我們對.NET Framework上的配置檔案做個概念性的解說。
配置檔案(Configuration Files)
在.NET Framework提供了三種基本型態的配置檔案資訊:電腦(machine)、應用程式(application)和安全性(security)。它們各自是為了不同目的而產生的,但它們皆是XML-Base具有相同的結構描述(Schema),例如:它們皆以
表1:
我們會將重心放置在
電腦配置檔案(Machine Configuration Files)
電腦配置檔案它的名稱為machine.config,位在.NET Framework安裝路徑的Config子目錄下,一般會在C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\CONFIG目錄下,它包含套用於整個電腦的設定值,如:電腦範圍組件繫結、內建遠端通道和 ASP.NET 的配置設定。配置系統首先會在電腦配置檔案中尋找
而在先前文章中為各位介紹的『DynamicProperties』是利用DynamicProperties設定後產生的app.config內的appSettings配置區段(Configuration Section)是從電腦配置檔案(Machine.config)內的區段指定配對而來:
您可以將其appSettings區段名稱更名為appSettings1執行,則系統會發生如(圖一)的錯誤,請選擇[否],若要觀察錯誤所在位置,請按『Ctrl+F5』或點選功能表中的[偵錯]-->[啟動但不偵錯],即可見如圖二的配置錯誤畫面,告訴您在配置檔案中發生錯誤的位置,和錯誤的原因,顯而易見的它是告訴我們無法辨認配置區段appSettings,由此可知appSettings配置區段是必預由machine.config電腦配置檔案中事先宣告過。
(圖一)系統配置檔錯誤對話盒
(圖二)配置錯誤畫面
安全性配置檔案(Security Configuration Files)
安全配置檔案包含程式碼群組階層架構和與原則層級相關聯的使用權限集合的資訊。安全性配置檔案包含有三種原則配置檔案:企業(Enterprise)原則配置檔案、電腦(Machine)原則配置檔案、使用者(User)原則配置檔案,各所存在的路徑與檔名如(表2),我們強烈建議讀者使用 .NET Framework 配置工具 (Mscorcfg.msc位在%Runtime install path%下) 或程式碼存取安全性原則工具 (Caspol.exe位在%Runtime install path%下) 來修改安全性原則,確保原則變更不會損毀安全配置檔案。企業原則配置檔案是設定全部企業的安全性配置;電腦原則配置檔案只定義本機的安全性配置,此二者只可被具有administrator權限的使用者來設定配置,而使用者原則配置檔案是用來設定配置目前登錄使用者的相關安全性配置。
表2安全性配置檔案的位置
註:%Runtime install path%為.NET Framework安裝路徑;
vxx.xx.NET Framework的版本,目前一般為v1.0.3705。
沒有留言:
張貼留言