У меня есть метод ASP.NET MVC (v3.0 в .NET 4.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
даты?