2016-02-18 109 views
4

我有在使用輸出緩存像這樣清除輸出緩存6/ASP.NET 5

<cache vary-by="@Util.SomeID" expires-after="@TimeSpan.FromHours(1)"> 
    <div>some content</div> 
</cache> 

在我需要的內容的情況下到期之前被更新的部分視圖的HTML片段的緩存,我該如何去處理那個特定片段的緩存(或者整個緩存,如果需要的話)?

我使用ASP.NET 5和MVC 6 ..

謝謝!

+0

的可能的複製更多細節[任意的方法來清除/沖洗/刪除的OutputCache?](http://stackoverflow.com/questions/565239/any-way-to-clear-flush-remove -outputcache) – timothyclifford

+0

這不是一個MVC 6/ASP.NET 5解決方案。 –

回答

1

IMemoryCache接口沒有清除緩存的方法。否則,您可以將IMemoryCache注入您的控制器或任何您需要的地方並調用該方法。

我建議在aspnet緩存存儲庫上發佈功能請求或使用不同的緩存機制。

我工作的延伸CacheManager是內存或分佈式緩存,然後將具有比建造了更多的功能,很簡單,內存緩存在MVC核心可用...

0

的ASP。 NET團隊已經確認,目前無法直接清除緩存項目。建議的解決方法是使用「版本」變量作爲vary-by緩存參數的一部分。

這實際上並不會清除現有值,但是會顯示新值。舊價值最終會在到期時被清理。

https://github.com/aspnet/Mvc/issues/4117#issuecomment-187298466