Изменения ASP.NET Cache-Control на сервере - PullRequest
1 голос
/ 23 июня 2011

У меня есть фильтр действий ASP.NET MVC, который устанавливает заголовок контроля кэша ответа. Все работает нормально, за исключением случаев, когда я публикую его на веб-сервере.

Когда я запускаю его через localhost, я получаю следующее:

Cache-Control:public, max-age=172800
Connection:Close
Content-Length:15057
Content-Type:application/pdf
Date:Thu, 23 Jun 2011 17:09:09 GMT
Server:ASP.NET Development Server/9.0.0.0
X-AspNet-Version:2.0.50727
X-AspNetMvc-Version:2.0

При запуске через живой сайт

Cache-Control:public
Content-Length:15057
Content-Type:application/pdf
Date:Thu, 23 Jun 2011 17:09:45 GMT
Server:Microsoft-IIS/6.0
X-AspNet-Version:2.0.50727
X-AspNetMvc-Version:2.0
X-Powered-By:ASP.NET

По какой-то причине max-age очищается, и я не могу понять.

Единственное отличие, которое я могу понять, состоит в том, что сайт разработчика проходит через веб-сервер Cassini, а прямая трансляция - это IIS, поэтому, возможно, IIS очищает максимальный возраст?

Что мне нужно сделать, чтобы сохранить значение максимального возраста в заголовке элемента управления кэшем?

EDIT: Вот изображение узла system.webserver в файле web.config на случай, если там есть что посмотреть.

web.config

1 Ответ

1 голос
/ 23 июня 2011

Найти и проверитьстрока в вашем файле конфигурации.Попробуйте установить для cacheControlMode значение UseMaxAge, если это не так.

Например:

...