winform下使用快取

2022-01-12 18:55:59 字數 759 閱讀 2419

我們都知道 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寸電視機 然後查詢相關的產品。這個時候,在後台,我們可以查詢資料...