Как заставить изображения загружаться постоянно, ASP.NET - PullRequest
2 голосов
/ 12 июня 2009

Я служу .aspx, который содержит изображения. Я еще не понял, как заставить ie7 (6) постоянно получать изображения (например, перенаправления).

Пока что я добавил следующие теги на мою страницу .aspx:

<META Http-Equiv="Cache-Control" Content="no-cache">
<META Http-Equiv="Pragma" Content="no-cache">
<META Http-Equiv="Expires" Content="0"> 

И все же, если я нажму на строку URL и нажму клавишу ввода или сделаю перенаправление на ту же страницу, IE не будет повторно получать изображения.

Что мне не хватает?

Другие примечания:

ISS 5
IE7 7.0.5730.13
Works on Firefox and everywhere else but IE

Код перенаправления:

Response.Redirect("url...", true);

Ответы [ 4 ]

3 голосов
/ 12 июня 2009

Вы можете просто поставить уникальный тег в конце URL-адреса своего изображения, чтобы убедиться, что кэш не задействован. Например

<img src="/path/to/image.jpg?<%=DateTime.Now.Ticks.ToString()%>" />

Конечно, если вы используете WebForms, вам нужно сделать это немного по-другому, но все же в том же духе.

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

См. http://www.enhanceie.com/redir/?id=httpperf для объяснения того, как работает кэширование HTTP, и как вы можете кэшировать или не кэшировать ваши файлы.

1 голос
/ 12 июня 2009

IIS, вероятно, переопределяет эти настройки. Зайдите в IIS Manager и найдите папку, в которой находятся ваши изображения. Щелкните правой кнопкой мыши и выберите «Свойства». Нажмите на вкладку Заголовки HTTP. Установите флажки «Включить срок действия содержимого» и «Срок действия истекает немедленно».

0 голосов
/ 12 июня 2009

Я не знаю точно, почему, но мы решаем аналогичную проблему, добавляя эти строки в файл aspx.cs в событии PageLoad:

//Turn off cache
Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache);
Response.Cache.SetNoStore(); 

Может быть полезно решить и вашу проблему

http://royriojas.blogspot.com/2009/04/dealing-with-back-button-and-secured.html

...