Ошибка в: System.Web.UI.Page.InitOutputCache () или в System.Web.Mvc? - PullRequest
1 голос
/ 17 июля 2009

Я использую asp.net MVC с кэшированием вывода (атрибут OutputCache) на некоторых моих методах контроллера и получаю некоторые действительно странные результаты в заголовках HTTP.

Когда я добавляю атрибут к действию контроллера, который обрабатывает представление главной страницы. создается следующий заголовок:

Date                    Thu, 16 Jul 2009 23:04:58 GMT
Server                  Microsoft-IIS/6.0
X-Powered-By            ASP.NET
X-AspNet-Version        2.0.50727
X-AspNetMvc-Version     1.0
Content-Encoding        gzip
Cache-Control           public, max-age=300
Expires                 Thu, 16 Jul 2009 23:04:59 GMT   <<<<<<<<< This is wrong
Last-Modified           Thu, 16 Jul 2009 23:04:55 GMT
Vary                    *
Content-Type            text/html; charset=utf-8
Content-Length          575

Но когда я добавляю его в действие контроллера, которое отображает результат FileStreamResult, который отправляет изображение для этой страницы, я получаю следующее

Connection           close
Date                 Thu, 16 Jul 2009 23:04:59 GMT
Server               Microsoft-IIS/6.0
X-Powered-By         ASP.NET
X-AspNet-Version     2.0.50727
Cache-Control        public, max-age=300
Expires              Thu, 16 Jul 2009 23:09:58 GMT      <<<<<<<<< This is right
Last-Modified        Thu, 16 Jul 2009 23:04:58 GMT
Vary                 *

Вы заметите, что существует разница в способе обработки Expires & Last-Modified между запросом главной страницы и запросом изображения.

На мой взгляд, изображение является правильным, поскольку заголовок Expires имеет значение Last-Modified + max-age, но в запросе главной страницы заголовок Expires совпадает с Last-Modified. Мне нужно, чтобы оба были последними изменениями + максимальный возраст ...

Что здесь не так, это где-то ошибка ??

Приветствие Энтони

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...