Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与OutputCacheAttribute交互_C#_Asp.net Mvc 3_Caching_Asp.net Mvc 4 - Fatal编程技术网

C# 与OutputCacheAttribute交互

C# 与OutputCacheAttribute交互,c#,asp.net-mvc-3,caching,asp.net-mvc-4,C#,Asp.net Mvc 3,Caching,Asp.net Mvc 4,给定一个用OutputCacheAttribute修饰的控制器操作,该操作本身是否可能与OutputCacheAttribute的属性交互 例如,如果操作是动态地: 确定CacheItemPriority,并在返回ActionResult之前设置该优先级 确定应为此特定请求禁用缓存,从而将NoStore属性设置为true 是,不是?如果答案是否定的,那么我在MVC中使用这种基于动作的动态行为的输出缓存的回退方法是什么?CacheItemPriority不是OutputCacheAttribu

给定一个用OutputCacheAttribute修饰的控制器操作,该操作本身是否可能与OutputCacheAttribute的属性交互

例如,如果操作是动态地:

  • 确定
    CacheItemPriority
    ,并在返回ActionResult之前设置该优先级
  • 确定应为此特定请求禁用缓存,从而将
    NoStore
    属性设置为true

是,不是?如果答案是否定的,那么我在MVC中使用这种基于动作的动态行为的输出缓存的回退方法是什么?

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

下面的文章展示了您正在尝试做的事情的示例。它看起来像是在标准MVC OutputCacheAttribute具有任何可用参数之前编写的,因此本文的大部分内容都显示了您想要的内容或非常接近您想要的内容


您可以创建自己的缓存属性,并将参数传递到其中?