Как запретить IIS отправлять заголовки кэша с файлами ASHX - PullRequest
2 голосов
/ 01 марта 2012

Моя компания использует ASHX-файлы для обслуживания некоторых динамических изображений.Поскольку тип содержимого image / jpeg, IIS отправляет заголовки вместе с ними в соответствии со статическими изображениями.

В зависимости от настроек (я не знаю всех задействованных настроек, отсюда и вопрос)заголовки могут быть любыми из:

LastModified, ETag, Expires

Заставляет браузер рассматривать их как кешируемые, что приводит к всевозможным ошибкам, когда пользователь видит устаревшие изображения.1008 * Есть ли параметр, который я могу установить где-нибудь, чтобы файлы ASHX работали так же, как и другие динамические страницы, например файлы ASPX?Если не считать этого, есть ли параметр, который позволит мне по всем направлениям удалить LastModified, Etag, Expires и т. Д. И вместо этого добавить заголовок без кэширования?

Ответы [ 2 ]

2 голосов
/ 08 июля 2012

Добавить случайную сгенерированную строку в запрос запроса.Это заставит браузер думать, что это другой вызов.Пример: document.getElementById ("myimgcontl"). Src = "myimages.ashx? 15923763" ;.

2 голосов
/ 06 марта 2012

Единственными решениями, которые я нашел, были:

1) Добавление Response.ContentControl = "no-cache" к каждому обработчику.

Мне не нравится это, потому что для этого требуются всечтобы изменить обработчики, и чтобы все разработчики знали об этом.

2) Настройка переопределения заголовка HTTP для папки, в которой находятся обработчики

Мне не нравится этот, потому что он требуетобработчики должны быть в их собственном каталоге.Хотя это может быть хорошей практикой в ​​целом, к сожалению, наше приложение не структурировано таким образом, и я не могу просто переместить их, потому что это сломает ссылки на клиентские компьютеры.

Если никто не даст лучшего ответа, мне придетсяпринять, что это только два варианта.

...