2012-11-20 78 views
1

我正在使用System.Runtime.Caching作爲內存緩存,但我希望有一個filecache。我遇到了一些麻煩,看到如何做到這一點。 當然,我可以創建自己的,簡單的做法。保存到光盤,如果存在,則從光盤獲取。但是,我能用System.Runtime.Caching更聰明嗎?例如,獲取物品到期日期? 我真的不明白如何實現到期,在我簡單的保存到磁盤緩存。在文件系統上緩存

回答

1

Serialization是您可以在FileSystem上實現這種排序緩存的關鍵。首先你必須有一些對象來緩存文件系統。在其中包含過期時間因素以檢查其到期時間(可以使用Timer實現),那麼您只需設計這些對象以支持序列化。

要了解更多關於序列化使用以下參考資料:

  1. What is [Serializable] and when should I use it?
  2. .NET Serialization (using BinaryFormater, SoapFormatter and XmlSerializer)
+0

我不確定你的意思是用計時器什麼?如果我創建了一個具有計時器和過期時間的對象,然後將其序列化爲光盤,然後關閉我的程序並稍後重新打開。我將如何從光盤中獲取該對象到期? – Nicolai

+1

您可以在對象中擁有到期信息。在反序列化之後,您可以使用它將其與當前日期和時間進行比較,以檢查是否已過期。稍後,您可以啓動一些計時器,以在常規內部處理後檢查相同的信息。希望這可以幫助! –

相關問題