了解或者認識KT:
<a href="http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html">http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html</a>
在項目中如何使用KT?
KT是一個庫,是以将KT的dll檔案引用到您的項目上即可使用KT裡的函數功能。
本節将介紹大家認識KT庫裡的緩存與配置。它們都存放在“KT.Core“下,當你已在你的項目裡引用了KT庫後,則寫下以下代碼就可以使用到KT裡的緩存與配置對象了。
緩存
KT的緩存隻是簡單的對.NET的緩存Cache進行了一個簡單的包裝,以便更友善的使用。
1、增加一個緩存項:
2、删除緩存項
3、擷取某個緩存項
配置
平時在項目開發中,參數配置都習慣在項目配置檔案(app.config或web.config)的AppSettings節點中配置,比如以下示例:
程式代碼裡要使用參數時,直接調用即可,如下代碼:
如果我們的參數非常的多,這将會導緻我們的項目配置檔案非常的大。并且如果在web項目中,我們的配置參數在運作過程中需要更改,則将會導緻我們的web站點應用程式的重新開機!對于正常運作的項目來說,程式的重新開機是希望不要發生的,因為這将會導緻session的丢失等相關問題。雖然我們可以在appSettings節點裡使用file屬性采用外部檔案來配置避免這問題,但在某些場合下,file屬性卻是無能為力了。比如需要分多個配置檔案存儲不同的資料,file屬性是無法做到的。
KT的配置
1、KT的配置檔案
KT的配置檔案,預設存儲于程式根目錄下的config目錄,當然,你也可以自定義配置的存儲路徑,比如在app.config或web.config裡的AppSettings節點裡配置以下設定。
如果未設定則預設是程式的根目錄(Web應用程式則是站點根目錄;Windows應用程式則是可執行檔案所在的目錄)下的config目錄
KT的配置檔案采用的是标準xml檔案,如下示例:
上面配置中,共定義了4個參數。其中k1參數的定義同.net裡的appSettings一樣,通過<add>節點元素定義;其它的參數都是采用節點形式定義。
KT的配置檔案有兩個特殊的節點<add>與<include>節點。
1、<add>節點:如果定義此節點,并且帶有“key”屬性,則表示增加一個參數,參數值由“value”屬性定義。如果定義此節點,但不帶有任何屬性,則看作普通的參數"add”對待。如下面示例:
共定義了“k1”與“add”兩個參數。
2、<include>節點:如果定義此節點,并且帶有“file”屬性,則表示是引用相關的配置檔案。否則如果不帶有任何屬性,則看作普通的參數“include”對待。如下面示例:
共導入了“mysettings.xml”與“c:\config\mysettings2.xml”兩個配置檔案裡的配置參數,并且還定義了一個“include”參數,其中file屬性的值可以是相對路徑或絕對路徑,如果是相對路徑則是“相對于目前配置檔案所在的路徑”。
所有參數的節點都可以重複定義,但參數最終的值将由最後一個定義節點決定(注:“<include file=””>”節點是例外),即最後定義的将覆寫先前定義的值。如下示例:
最終,“k1"的值是“2”。
2、配置參數的擷取
參數的擷取是通過KT.Core.Settings執行個體類擷取,此類共有幾個靜态方法和屬性。
A、BasePath : 傳回存儲配置檔案所在的基路徑。此值可以通過上面所說的方法,在appSettings裡修改。預設是程式根目錄下的config目錄.
B、Default : 傳回預設存儲配置檔案的所有配置參數值。此預設配置參數存儲于基路徑下的"settings.config"檔案。
C、From : 從配置檔案擷取配置參數。配置檔案可以是相對路徑或絕對路徑,如果是相對路徑則相對于BasePath。
D、Get<T>: 從配置檔案擷取配置參數并映射為某個實體類。配置檔案可以是相對路徑或絕對路徑,如果是相對路徑則相對于BasePath。
假如以下配置存儲在基路徑下的settings.config檔案
那我們可以這樣擷取參數“k1”、“k2”、“k.name”的值
如果我們配置檔案不是預設的“settings.config”檔案,那我們可以這樣擷取配置
如果我們的配置檔案結構可以映射為某個類,比如上面的配置檔案可以映射為以下類結構
那我們還可以直接通過Get<T>方法直接擷取配置實體類,如下面的示例:
由于AppSettings裡的屬性“K”是一個“KItem”類型,是以KT将會自動将“<k.name>”和“<k.age>”這兩個節點映射為“KItem”類型的值.
注:KT的配置都已啟用緩存功能,是以不需要擔心它的效率問題。
我們可以用KT的配置做什麼?
A、各應用程式之間的配置可以互相獨立存放。 比如在WEB環境下,同一個站點下有多個不同的WEB應用程式,如論壇、部落格、接口服務等等,那我們可以将它們的配置分别以不同的檔案名存放于“基路徑”下,如“forum.config”, “blog.config”,"service.config“,再調用From或Get<T>方法讀取不同的檔案名即可。
B、各應用程式之間的配置可以共享使用。比如上面例子所說的,如果“論壇”程式要調用“部落格”裡的參數,則我們可以在論壇的配置參數裡加入“<include file=“blog.config”>”節點引入“部落格”的配置參數。
C、各應用程式的配置可以統一存放。比如在WEB環境下,我們有A、B、C三個站點,這三個站點都需要用到同一個資料庫,于是我們分别在這三個站點下寫了一個同樣使用者名與密碼的“ConnectionString“配置參數,當某一天,我們修改了資料庫的使用者密碼,那我們就要分别打開這三個站點的目錄去修改“ConnectionString”配置參數。而如果我們将A、B、C三個站點的KT配置的基路徑設定為同一個目錄,那我們就隻要打開一個目錄就可以修改到三個站點的參數了。
本文轉自Kingthy部落格園部落格,原文連結:http://www.cnblogs.com/kingthy/archive/2011/08/16/2140410.html,如需轉載請自行聯系原作者