2013-01-21 210 views
0

我正在構建一個ASP.NET MVC應用程序,它可能在Azure中託管。該應用程序的多個實例可能正在Azure中運行。我們可能會或可能不會使用Azure AppFabric緩存。ASP.NET MVC/Azure緩存框架

我們如何構建緩存框架,以便:

  1. 工作緩存在內存中的發展環境。
  2. 緩存在Azure中以某種方式工作(沒有AppFabric緩存)。
  3. 緩存在使用AppFabric緩存的Azure prod環境中可用。

以上所有應該與配置文件中的一些交換機一起工作。

回答

0

必須在這樣的外觀以及:http://nuget.org/packages/Glav.CacheAdapter

一個通用的緩存機制,提供內存,的ASP.NET Web,AppFabric中和memcached的緩存之間的配置切換。

+0

謝謝,看起來很有趣。我正在尋找一個更標準的框架,如企業庫 - 緩存塊來實現這個訣竅。可能嗎? – vijayst

3

如果您正在使用雲服務(Web/Worker角色),您曾考慮過使用Windows Azure Caching嗎?除了速度更快,免費(部署部署)這一事實外,您可以在本地進行開發(感謝模擬器),在「測試」部署和生產部署中運行Windows Azure時無需額外成本或無需額外費用玩配置文件。

+0

是的,我打算在Azure上使用Windows Azure緩存。我有一組N個Web應用程序 - 其中一些將是InPrem,其中一些將在Azure中。在InPrem的,我有一些應用程序不會使用AppFabric緩存和一些會。我試圖想出一個通用緩存DLL來爲所有客戶端提供服務。 – vijayst

0

爲什麼不直接使用ASP.NET緩存?在web.config中,您可以在開發環境中將其設置爲InProc。一旦進入Azure,您可以將其設置爲SQL或其他共享提供程序。

+0

我必須在開發環境中的內存中緩存與生產環境中的AppFabric緩存之間切換。此外,Appfabric緩存是一個備用 - 不確定是否AppFabric緩存確實將用於生產(仍在討論中)。所以不得不提出一些通用的方法,這三種方案都可以工作 – vijayst