我有一个 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
日期?