2012-02-29 6 views
2

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

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

LastModified, ETag, Expires

Причинение браузер рассматривать их как cacheable, что приводит ко всем видам ошибок, когда пользователь видит устаревшие изображения.

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

ответ

2

Только решения я нашел, было:

1) не Добавление Response.ContentControl = "не-кэша" для каждого обработчика.

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

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

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

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

+0

Привет Кир, я столкнулся с той же проблемой. Откуда мне нужно добавить Response.ContentControl = «no-cache», и это повлияет на мое приложение? Ответьте, пожалуйста.... –

2

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