我使用OutputCache屬性在服務器端緩存我的動作的html輸出。在asp.net中以編程方式中止OutputCache持續時間mvc
很好,它可以工作,但現在我有一種情況,內容很少發生變化,但是當它發生變化時,用戶在下一個請求中看到新數據是至關重要的。
那麼,有沒有辦法以編程方式中止頁面緩存持續時間?
由於提前,
安德烈·卡盧奇
我使用OutputCache屬性在服務器端緩存我的動作的html輸出。在asp.net中以編程方式中止OutputCache持續時間mvc
很好,它可以工作,但現在我有一種情況,內容很少發生變化,但是當它發生變化時,用戶在下一個請求中看到新數據是至關重要的。
那麼,有沒有辦法以編程方式中止頁面緩存持續時間?
由於提前,
安德烈·卡盧奇
您可以擴展OutputCacheAttribute創建自己的緩存機制,讓類似原來的ASP.net緩存依賴。
你也可以使用HttpCachePolicy.AddValidationCallback()。總體思路是,當頁面被渲染並插入到緩存中時,該回調將與頁面一起插入。從緩存中檢索頁面時,將調用回調並最終確定緩存頁面是過時的(應該被引導)還是有效的(並且應該被提供)。例如,請參閱AuthorizeAttribute source。如果一個頁面變舊,確實是很少見,但是您可能會更好地使用RemoveOutputCacheItem()方法,如其他響應中所述。