我們都知道 asp.net的快取類是system.web.caching.cache,那麼在 winform專案中如何使用快取呢?
首先,我們要弄清楚web程式與winform程式的區別,一般來說,web程式都是典型的三層架構,即資料庫伺服器+
web應用伺服器+瀏覽器客戶端,由於乙個web服務端服務於多個客戶端,這種情況下,在web應用程式上為一些靜態的,
單例的,共享性的資料作快取是很有必要,能大大提高系統效能,但是在winform程式來說,一般都是客戶端程式+資料庫伺服器
的兩層架構,即應用程式直接執行在客戶端,而所謂的快取,實質不過是可以作用於全域性(整個程式域)的靜態變數,
當然 加入了併發處理,更新處理等一些高階特性,由於winform程式是客戶端程式,併發的機率很低,一般而言,設定 靜態變數
就足以解決資料的快取需求。當然,在某些情況下,winform也有快取的需求,比如使用了webservice,remoting或者wcf的分布式應用程式,
儘管客戶端是winform程式,但其框架實質與web程式是一致的,在使用了遠端分布技術的服務端程式上,使用快取是很有必要的。
當然,嚴格來說,這與主題 「winform下使用快取」並不相關了,我要闡述的問題其實是在非web應用程式下如何使用快取。
1 新增對system.web.dll的引用,直接使用system.web.httpruntime.cache。
3 自行實現(其實就是乙個單例模式的hashtable或者dictionary,並作加鎖的併發處理)
4 使用微軟企業庫
Winform 快取處理
在對winform做的專案優化的時候,首先想到的是對查詢,並不經常變化的資料進行快取,但對web專案來說有system.web.caching.cache類進行快取,那麼winform端該如何呢?你可能會想到,存到檔案中,但那可能有問題,檔案操作許可權問題,io操作效能問題。針對exe的專案,可以使...
WinForm使用WebService自動公升級
winform使用webservice自動公升級 winform程式相對web程式而言,功能更強大,程式設計更方便,但軟體更新卻相當麻煩,要到客戶端一台一台地公升級,面對這個實際問題,在最近的乙個小專案中,本人設計了乙個通過軟體實現自動公升級技術方案,彌補了這一缺陷,有較好的參考價值。一 公升級的好...
使用快取的9大誤區(下)
在很多時候,我們往往會快取乙個物件的集合,但是,我們在讀取的時候,只是每次讀取其中一部分。我們舉個例子來說明這個問題 例子可能不是很恰當,但是足以說明問題 在購物站點中,常見的操作就是查詢一些產品的資訊,這個時候,如果使用者輸入了 25寸電視機 然後查詢相關的產品。這個時候,在後台,我們可以查詢資料...