IIS 6 кэширует статическое изображение - PullRequest
3 голосов
/ 12 августа 2009

Даже если изображение изменяется, перезаписывается, модифицируется, IIS все равно обслуживает кэшированную копию. Я пытаюсь загрузить изображение с веб-камеры каждые 15 секунд. Изображение попадает на сервер, но когда я обновляю браузер изображением с сервера, оно не обновляется.

IIS кэширует файл, очевидно, более 2 минут. Я хочу, чтобы это было в режиме реального времени. Пытался отключить кеширование везде, где только мог придумать. Не повезло.

Ответы [ 2 ]

2 голосов
/ 13 августа 2009

Вставьте ваше изображение следующим образом: <* ImageTag src = "WebCamImage.aspx? Data = {автоматически сгенерированный guid}" ...> * ImageTag = img (фильтр спама не позволит мне опубликовать его)

И создайте страницу (WebCamImage.aspx), которая передает потоковый файл статического изображения обратно в браузер, игнорируя параметр запроса «data», который используется только для того, чтобы избежать кэширования (убедитесь, что для типа содержимого ответа установлено « image / jpeg "или что-то подходящее в заголовке @page).

1 голос
/ 13 августа 2009

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

Если это кэширование на стороне IS, то в этой статье есть все ответы для вас: http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx

Скорее всего, вы "затронуты" кэшированием в режиме ядра. Видишь это время мусорщика? Мусорщик - по умолчанию 120 секунд и управляется разделом реестра HKLM \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ UriScavengerPeriod Это, вероятно, то, что вы испытываете (2-минутное кэширование)

Попробуйте отключить кэширование в режиме ядра, чтобы увидеть, имеет ли это значение (производительность может снизиться, но она будет не хуже, чем в IIS5)

...