Dot-Net

MVC 5 中的“CacheProfile”

  • February 17, 2014

我是 MVC 的初學者,我有一個項目要從 MVC2 轉換為最新版本的 MVC。我閱讀了一些關於 MVC 4 的書籍,因此我開始了解主要機制。

但是,在轉換我的 MVC 2 解決方案時,我遇到了一個屬性問題:OutputCache.

通過例如。我有多個這樣的操作(屬性可能會有所不同):

[OutputCache(CacheProfile = "ProductImage")]
public ActionResult GetImage(Guid elementId, int imgtype)

在“記憶體> outputCacheSettings> outputCacheProfiles>”中的Web.Config中:

<add name="ProductImage" duration="5" varyByParam="elementId,imgtype" />

並在輸出中獲得以下異常:

子操作的 OutputCacheAttribute 僅支持 Duration、VaryByCustom 和 VaryByParam 值。請不要為子操作設置 CacheProfile、Location、NoStore、SqlDependency、VaryByContentEncoding 或 VaryByHeader 值。

據我了解,問題僅出現在子操作中。

  • 還有另一種方法可以在最新的 MVC 中擁有記憶體配置文件嗎?
  • 有沒有辦法確定該動作是否是子動作以便僅修改該動作?

解決了安裝MvcDonutCaching nuget 並替換[OutputCache[DonutOutputCache

查看更多關於。

請閱讀這個問題的答案,我相信它很好地回答了你的問題。

引用自:https://stackoverflow.com/questions/21829479