我已經成功地開始使用Azure AppFabric Caching Service,但我不確定創建DataCacheFactory對象的最佳實踐方式是什麼。現在我創建它,每進入一次緩存,但顯然這不是做這件事的理想方式...使用Azure AppFabric緩存服務的最佳實踐?
一些建議打電話給單身人士。但我不確定我是否理解這將如何實現(不是實際的Singleton類,而是如何將它們結合在一起)。
今天我有一個CacheProvider類,它是使用Ninject爲我創建的,我可以執行Get/Put/Remove操作。對於這些方法中的每一個,我創建DataCacheFactory對象,然後調用.GetDefaultCache()來獲取DataCache對象,我分別稱其爲Put/Get/Remove。我這樣做的,看起來像這樣一個方法:
private T Cache<T>(Func<DataCache, T> cacheAction)
{
using (DataCacheFactory dataCacheFactory = new DataCacheFactory())
{
DataCache dataCache = dataCacheFactory.GetDefaultCache();
return cacheAction(dataCache);
}
}
現在我敢肯定,這是不那麼聰明,想法,我應該不是通過一個Singleton來獲取數據高速緩存的對象,其中DataCacheFactory對象只創建一次。但是這個對象在請求之間如何生存呢?而且這對於Azure上的大於1個實例是如何工作的?
希望這一切都合情合理,而且有比我更多經驗的人(3小時)可以幫助我。
從http://www.hanselman.com/blog/InstallingConfiguringAndUsingWindowsServerAppFabricAndTheVelocityMemoryCacheIn10Minutes.aspx參見方法CacheUtil.GetCache – 2012-10-01 13:24:37