2012-09-05 103 views
2

我對ASP.NET有經驗,但我的一些知識有點不穩固。我正在創建一個使用服務來獲取大部分數據的應用程序。然後我想用LINQ來過濾它以滿足我的需要。這些數據很少發生變化,但我知道有太多數據不適合Session。在本地存儲大量數據

如何將少量變化的大量數據存儲在內存中?這將適用於應用程序變量嗎?

+0

這完全取決於你需要使用這些數據做什麼。 –

+0

用LINQ過濾它,顯示它,可能用中繼器,或許用我已經有的data => XLS函數把它導出到一個XLS文件。 –

回答

1

您可以存儲大量的相對靜態的數據:

  • HttpContext.Cache
  • 在C#類的私有靜態字段。用可以初始化靜態字段的public get屬性包裝變量。應用程序首次啓動時,需要初始化靜態字段,並且任何時候應用程序域都由IIS回收。

HttpContext.Cache

Pro的

  • 配置的緩存過期策略。
  • 專爲ASP.Net環境而設計

反對的

靜電場

Pro的

  • 完整的用戶在緩存過期控制。

反對的

  • 任何緩存過期,必須明確地編程。沒有內置的到期支持。
+0

只有數據在客戶端之間共用/共享時,緩存纔有優勢。如果每個客戶需要它自己的版本,那麼緩存不會比會話狀態好。 –