2013-09-26 47 views
1

我一直在爲此尋找最高和最低,但似乎無法找到正確的答案。創建一個啓用了緩存的果園CMS小部件/模塊

我一直在Orchard中編寫一個模塊以及一些用於它的小部件,現在我想在我的類中啓用數據庫查詢的緩存。

是否有關於如何添加緩存到我的模塊和小部件的任何文檔?

我試過只啓用輸出緩存和系統緩存,但它似乎只適用於Orchard附帶的模塊(我使用SQL Server Profiler進行了檢查,並且我的查詢仍然一直在發送到數據庫,而正常的烏節查詢內容等,不是,似乎是緩存)。

+1

你可以實現Orchard構建它的Cache。更多信息http://weblogs.asp.net/bleroy/archive/2011/02/16/caching-items-in-orchard.aspx和http://www.nogginbox.co.uk/blog/orchard-caching-按時間 – mberacochea

回答

0

您可以使用ICacheManager。

注入的ICacheManager的實例到您的構造函數,然後在你的方法,你可以使用緩存值:caching in Orchard

var myCachedValue = _cacheManager.Get("My-Value-Cache-Key", ctx => { 
    ctx.Monitor(_clock.When(TimeSpan.FromMinutes(20))); 
    return SlowFunctionSoNeedsCaching(); 
}); 

我在我的博客中寫了一個更詳細的例子。