为什么我的图像没有缓存,虽然我配置了OUTPUTCACHE?

时间:2017-08-21 10:30:40

标签: asp.net-mvc caching outputcache

SO, 我尝试为我的MVC5应用程序配置缓存以进行优化。虽然我将OutputCache属性放在控制器操作方法上,但我无法看到我的图像被缓存。 这是控制器动作:

[OutputCache(Duration = 60, Location = OutputCacheLocation.ServerAndClient, NoStore=true, VaryByParam = "resultid")]
public FileContentResult getPicture(string resultid)
{
   var actionLinks = db.ActionLinks.ToList();
   var actionLinkPic = actionLinks.FirstOrDefault(p => p.Id == resultid);
   if (actionLinks != null)
   {
      return File(actionLinkPic.TPicture, actionLinkPic.TPictureMimeType);
   }
   else
   {
      return null;
   }
}

以下是firefox中的网络响应:

网络响应:

enter image description here

1 个答案:

答案 0 :(得分:0)

您有NoStore=true

NoStore属性完全禁用缓存 - 它通常用于禁用GET请求的缓存(默认情况下缓存)。

将其更改为NoStore=false

不幸的是,OutputCacheAttribute的文档很少,所以在某种程度上你将不得不试验这些选项,看看会发生什么。