【发布时间】:2011-02-09 13:57:30
【问题描述】:
我有一个 ASP.NET MVC 方法(.NET 4.0 上的 v3.0)设置如下:
[OutputCache(Duration = 31536000, Location = OutputCacheLocation.Any)]
public virtual ActionResult Item()
{
this.Response.Cache.SetLastModified(new DateTime(2011, 01, 01));
return this.Content("hello world", "text/plain");
}
我希望这会在返回时将 Last-Modified 标头设置为指定的 Mon, 07 Feb 2011 00:00:00 GMT,但它实际上是作为输出第一次缓存在输出缓存中的日期(即第一次方法在 IIS 被重置后被调用)。
如果我注释掉 [OutputCache] 属性以便没有完成输出缓存,那么 Last-Modified 标头会按预期返回,因此似乎输出缓存基础结构中的某些东西选择忽略我为此指定的值.
知道它为什么会这样做吗?有没有办法让它使用我指定的值作为Last-Modified 日期?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 http-caching output-caching