MVC缓存数据库映像

Dan*_*ani 6 asp.net-mvc caching

我正在使用MVC 4创建一个网站.对于项目要求,图像存储在数据库中.我有一个视图,我绑定模型,其中我有故事附带的图片的ID,然后我得到图像:

视图:

<img src='<%= Url.Action("ShowImagen", "Home", new {id = item.IdImagen}) %>' style="width: 300px;
                        height: 200px;" />
Run Code Online (Sandbox Code Playgroud)

控制器:

public FileResult ShowImagen(int id)
    {
        if (id > 0)
        {
            var imageData = new NoticiaRepository().GetImagen(id);
            return File(imageData, "image/jpg");
        }
        else
        {
            return null;
        }           
    }
Run Code Online (Sandbox Code Playgroud)

通过这个并使用Chrome进行检查,我注意到当我重新加载页面时,它不会从缓存中加载图像,就像其他文件一样.css或从文件系统加载的其他图像.

有没有办法让这些图像被缓存?问候和感谢.

Dar*_*rov 15

您可以ShowImagen使用以下[OutputCache]属性修饰控制器操作:

[OutputCache(Duration = 3600, Location = OutputCacheLocation.Client, VaryByParam = "id")]
public ActionResult ShowImagen(int id)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)