有很多关于如何强制浏览器缓存或不缓存任何图像的问题。但是,我面临的情况略有不同。在我的网页的几个地方,我正在使用以下代码来处理图像。
<img title="<%= Html.Encode(Model.title)%>"
src="<%= Url.Action(MVC.FrontEnd.Actions.RetrieveImage(Model.SystemId))%>"/>
因此,在生成的HTML中,它就像
<img title="blahblah" src="http://xyz.com/FrontEnd/Actions/RetrieveImage?imageId=X">
X
是一个整数。我已经看到,虽然浏览器(IE或Mozilla)默认缓存图像,但它不缓存上述方法生成的图像。
有什么办法可以告诉浏览器缓存上述类型的图片吗?
提前致谢。
答案 0 :(得分:1)
为此,您可以设置响应的Expires和MaxAge标头。为简化起见,您可以创建自定义ActionFilter。
以下是如何实现这一目标的良好指南:ASP.NET MVC Action Filter - Caching and Compression