У меня есть, как мне показалось, простой тестовый веб-сайт. Одна страница с одной кнопкой.
Вот копия источника Я работаю с вами, если вы хотите загрузить его и поиграть с ним.
При нажатии этой кнопки создается таймер JavaScript, который выполняется один раз в секунду. Когда функция таймера выполняется, вызывается AJAX для получения текстового значения. Это текстовое значение затем помещается в DOM.
В чем моя проблема?
IE Caching.
Взломайте диспетчер задач и посмотрите, что происходит с процессом iexplorer.exe (для меня IE 8.0.7600.16385) во время выполнения таймера на этой странице.
Видите, как увеличивается память и количество дескрипторов?
альтернативный текст http://www.joshuahayworth.com/content/HandleCount.png
Почему это происходит, когда, по всем данным, у меня отключено кэширование. У меня для параметра кэширования jQuery установлено значение false в $ .ajaxSetup. У меня есть заголовок CacheControl, установленный в no-cache и no-store. Заголовок Expires установлен в DateTime.Now.AddDays (-1). Заголовки устанавливаются как в коде страницы, так и в ответе обработчика HTTP.
Кто-нибудь получил какие-либо идеи относительно того, как я могу запретить IE кэшировать результаты вызова AJAX?
Вот как выглядит процесс iexplorer.exe в ProcessMonitor. Я считаю, что действия, показанные на этой картинке, именно то, что я пытаюсь предотвратить.
альтернативный текст http://www.joshuahayworth.com/content/ProcessMonitor.png