2012-03-18 79 views
0

我正在寫一個dll,其中包含許多高級實用程序類,其他開發人員將在其應用程序中使用和使用這些類。.net庫封裝類的高速緩存存儲器

目前我正在研究一個類的實現,它必須利用大型字符串的本地緩存,否則會非常緩慢。

有沒有一個統一的緩存存儲位置,我可以將我的superclass.cache文件放入(從我的代碼進入dll),這將在任何.net應用程序(asp.net也)中工作?

例如我見過爲ASP.Net編寫庫的人只是利用AppData文件夾來達到這個目的。但是如果我的庫是在WPF應用程序中引用的,則不會有AppData文件夾。更糟糕的是,它可能會運行在不允許從代碼寫入磁盤的環境中。

這給我們帶來的問題 - 要求用戶啓用緩存,如果 - 其中是唯一的(最好的)的選擇嗎?

更新:現在,當我想到Windows Phone被隔離存儲帶到位時,我最好只提供一個ICacher接口,並讓人們實現它,以便讓我具有普遍性。

回答

1

假設這是.Net 4.0,System.Runtime.Caching命名空間可用;這有一個MemoryCache類(MSDN),它是一個類似於ASP.NET緩存的緩存類,但不依賴於System.Web程序集。作爲System.Runtime的一部分,這應該可用於所有類型的應用程序。

+0

謝謝菲爾。但對於我的任務,我需要一些緩存存儲,它不會存在於cacher類的生命週期中,而是至少在應用程序實例的生命週期中存在。 – 2012-03-18 21:50:17