【发布时间】:2009-03-02 12:14:39
【问题描述】:
您可能知道,在 RC1 版本的 ASP.NET MVC 中,我们有一个名为 FileResult 的新 ActionResult。
使用它,您的操作方法可以动态地将图像返回给浏览器。像这样的:
public ActionResult DisplayPhoto(int id)
{
Photo photo = GetPhotoFromDatabase(id);
return File(photo.Content, photo.ContentType);
}
在 HTML 代码中,我们可以这样使用:
<img src="http://mysite.com/controller/DisplayPhoto/657">
由于图像是动态返回的,我们需要一种方法来缓存返回的流,这样我们就不需要再次从数据库中读取图像。我想我们可以这样做,我不确定:
Response.StatusCode = 304;
这告诉浏览器您的缓存中已经有该图像。在将 StatusCode 设置为 304 后,我只是不知道在我的操作方法中返回什么。我应该返回 null 还是什么?
【问题讨论】:
标签: asp.net-mvc caching http-status-codes