在我工作的公司中,我们有一个使用 ASP.NET MVC2 开发并托管在 IIS7 上的 Web 应用程序。
在特定操作中,我们返回一个包含数组的 JsonResult 对象。该数组每天更新;因此,同一天发出的任何请求都会得到相同的响应。
public ActionResult SomeAction(int id)
{
// Some calculations
return Json(resultArray, JsonRequestBehavior.AllowGet);
}
由于操作成本高昂,我们希望通过浏览器缓存等来提高性能。
我添加了一个缓存头,所以我们告诉用户浏览器缓存结果,直到数据库的下一次更新。
除此之外,我想添加一个“Last-Modified”标题,所以浏览器会询问源是否在指定日期之后被修改。
实现它的方法是什么?我想检查在浏览器询问的日期(Last-Modified 标头)之后是否修改了 DB,如果没有修改,我想返回 304,只是 IIS 自动对静态文件(图像、css 和 js 文件等)执行