与OutputCacheAttribute交互

时间:2012-12-04 21:50:57

标签: c# asp.net-mvc-3 caching asp.net-mvc-4

给定一个使用OutputCacheAttribute修饰的控制器操作,操作本身是否可以与OutputCacheAttribute的属性进行交互?

例如,如果动作是动态的,那么这将非常有用:

  • 确定CacheItemPriority并在返回ActionResult之前设置它。
  • 确定应为此特定请求禁用缓存,因此NoStore属性设置为true。

是的,不是吗?如果答案是否定的,那么使用这种基于动作的动态行为对MVC中的输出缓存有什么影响呢?

1 个答案:

答案 0 :(得分:0)

CacheItemPriority不是OutputCacheAttribute的一部分,因此您需要继承OutputCacheAttribute并从那里进行修改或自己滚动(可能通过子类化ActionFilterAttribute)。

以下文章显示了您尝试执行的操作的示例。它看起来像是在标准MVC OutputCacheAttribute之前编写了可用的任何参数,因此大部分文章都显示了您想要的内容或与您想要的内容非常接近的内容。

http://blog.maartenballiauw.be/post/2008/06/26/Creating-an-ASPNET-MVC-OutputCache-ActionFilterAttribute.aspx