Почему моя страница aspx запрашивается из кэша только на моей машине разработчика - PullRequest
3 голосов
/ 08 февраля 2012

Хорошо - я тестирую веб-приложение и получаю какое-то странное поведение на моем компьютере для разработки, которое я не могу отработать. Такое же поведение не проявляется на машине коллег.

Проблема заключается в следующем: я делаю два запроса к index.aspx. Первый запрос возвращается как HTTP 200 (как я и ожидал), но второй запрос извлекается из кэша браузера. Я очищаю кеш в начале каждого теста, чтобы убедиться, что тесты согласованы. Я также использую утилиту HTTPWatch (очень похожую на fiddler, но показывает запросы, даже если они получены из кэша браузера), которая показывает мне информацию HTTP, и именно так я знаю, что она поступает из кэша.

Эта проблема возникает только на одном из моих компьютеров.

Коллеги Машина (Работает нормально)

  • Запрос отправлен на index.aspx
    • Отправлено заголовков:
      • (строка запроса): GET /index.aspx HTTP / 1.1
      • Примите: текст / html, приложение / xhtml + xml, /
      • Принятие-кодировка: gzip, deflate
      • Accept-Language: en-GB
      • Соединение: Keep-Alive
      • Cookie: (не актуально)
      • Хост: dev
      • Пользователь-агент: Mozilla / 5.0 (совместимо; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
    • полученные заголовки:
      • (строка состояния): HTTP / 1.1 200 OK
      • Cache-Control: private
      • Длина содержимого: 10369
      • Тип содержимого: text / html; кодировка = UTF-8 * 1 068 *
      • Дата: Ср, 08 фев 2012 09:09:38 GMT
      • Сервер: Microsoft-IIS / 7.5
      • X-AspNet-Version: 2.0.50727
      • X-Powered-By: ASP.NET
  • Второй запрос отправлен на index.aspx
    • Отправлено заголовков:
      • (строка запроса): GET /index.aspx HTTP / 1.1
      • Примите: текст / html, приложение / xhtml + xml, /
      • Принятие-кодировка: gzip, deflate
      • Accept-Language: ru-RU
      • Соединение: Keep-Alive
      • Cookie: (не актуально)
      • Хост: dev
      • Рефере: http://dev/index.aspx
      • User-Agent: Mozilla / 5.0 (совместимо; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
    • полученные заголовки:
      • (строка состояния): HTTP / 1.1 200 OK
      • Контроль кэша: личный
      • Длина содержимого: 33588
      • Тип содержимого: text / html; кодировка = UTF-8 * +1151 *
      • Дата: Ср, 08 февраля 2012 09:09:38 GMT
      • Сервер: Microsoft-IIS / 7.5
      • X-AspNet-Version: 2.0.50727
      • X-Powered-By: ASP.NET

Моя машина (не работает)

  • Запрос отправлен на index.aspx
    • Отправлено заголовков:
      • (строка запроса): GET /index.aspx HTTP / 1.1
      • Примите: application / x-ms-application, image / jpeg, application / xaml + xml, image / gif, image / pjpeg, application / x-ms-xbap, application / vnd.ms -excel, application / vnd.ms-powerpoint, application / msword, /
      • Accept-Encoding: gzip, deflate
      • Accept-Language: ru-RU
      • Соединение: Keep-Alive
      • Cookie: (не относится)
      • Хост: dev
      • User-Agent: Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.3072929; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
    • полученные заголовки:
      • (строка состояния): HTTP / 1.1 200 OK
      • Cache-Control: private
      • Длина содержимого: 10374
      • Тип содержимого: text / html; кодировка = UTF-8
      • Дата: Ср, 08 фев 2012 09: 45: 304GMT
      • X-Powered-By: ASP.NET
  • Второй запрос отправлен на index.aspx
    • Отправлено заголовков:
      • (Нет): Заголовки для кэшированных элементов не отправляются
    • Заголовки получены:
      • (Нет): Не получены заголовки для кэшированных элементов

Как вы, возможно, заметили, браузеры разные (т.е. от 8 до ie9), но я до сих пор не понимаю, почему это может быть проблемой. Я думаю, что это должна быть некоторая конфигурация браузера, так как заголовки, полученные при первом запросе, практически одинаковы.

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

Ответы [ 2 ]

3 голосов
/ 28 февраля 2012

ОК - так что я думаю, что я решил это.

Похоже, что в IE был какой-то устаревший кеш, который не очищался, даже когда я явно очищал кеш.

Я использовалProcMon для мониторинга процесса и просмотра того, к какому файлу обращались, когда IE извлекал файл из кэша.Я увидел, что, несмотря на очистку моего кэша, в следующем каталоге был доступен каталог:

C: \ Users \% username% \ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files \ Content.IE5 \%Случайные символы% \

Я удалил содержимое папки C: \ Users \% username% \ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files \ Content.IE5, и теперь у меня не получается получитьПоведение выше.

Я искал в Google других людей, которые испытывают трудности с очисткой кэша в IE, но не смогли найти много.

Не слишком уверен в этом, чтобы быть честным!

0 голосов
/ 25 марта 2014

Вы можете изменить настройку IE в Свойствах обозревателя-> Общие-> История просмотра-> Настройки-> Временные интернет-файлы. Измените параметр Проверять наличие более новой версии сохраненных страниц на «Каждый раз, когда я захожу на страницу»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...