IE7 перестает делать сетевые запросы через некоторое время - PullRequest
2 голосов
/ 23 июня 2009

Наша (asp.net) система является частью более крупной системы. Он запускается через эту большую систему из javascript, который выполняет вызов window.open, чтобы открыть новое окно.

(кроме того, данные аутентификации и т. Д. Передаются в нашу систему через параметр строки зашифрованного запроса)

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

Вы можете закрыть наше окно и вернуться к более крупной системе (в своем собственном окне), которая все еще работает нормально. Если вы перезапустите нашу систему, откроется новое окно, которое выглядит как его загрузка, но запрос не выполняется (проверено с помощью wireshark). Системы находятся на отдельных поддоменах.

Вот самое забавное, если я запускаю Fiddler, все начинает работать нормально. Как только я закрываю Fiddler, он перестает делать сетевые запросы.

Система довольно тяжелая система html / javascript / ajax (1 МБ + на страницу), но это не должно заставлять браузер делать это. Очевидно, что Firefox и Chrome работают отлично:)

Единственный способ заставить его работать снова - это закрыть все окна IE и запустить снова.

Я отключил прокси-сервер, включил его, сделал почти все, что мог придумать.

У кого-нибудь есть идеи?

UPDATE

Мне удалось воспроизвести его с запущенной скрипачкой. Первоначально, когда он работает, я вижу все запросы в Fiddler. Когда он переходит в режим «без запросов выполняется» (опять же, обратите внимание, что ничего не меняется, я просто просматриваю), я не вижу ничего в Fiddler (то есть никаких новых запросов, ничего). Все запросы, которые fiddler зарегистрировал, выполнены, поэтому нет открытых соединений.

Мы видим это почти на каждой машине. После просмотра около 15 страниц это начинает происходить. Может ли это быть что-то экологическое? Мой тестовый компьютер - установленная ванильная XP с McAfee, IE7. Больше ничего не работает, и в IE не установлены панели инструментов.

Ответы [ 4 ]

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

Попробуйте объединить http://www.enhanceie.com/dl/fixHTTPMax.reg, чтобы увеличить предел HTTP-соединения, а затем проверьте, не занимает ли ~ 10 раз больше времени, чтобы столкнуться с проблемой.

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

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

Вы попали в небольшое затруднение с автоматическими настройками прокси-сервера Fiddler.

Когда запускается fiddler, он изменяет настройки прокси IE, чтобы он указывал на fiddler, когда закрывается fiddler, восстанавливает исходные настройки прокси.

Если fiddler видит существующие настройки прокси-сервера, он использует их в запросе, который он перенаправляет.

При определенных условиях ошибки вы можете остаться без запущенного fiddler, но изменения настроек прокси-сервера fiddler все еще действуют в настройках IE. Вы можете столкнуться с ситуацией, когда IE работает только во время работы Fiddler.

Сброс настроек прокси в IE.

Редактировать

В противном случае наиболее вероятной причиной являются невыполненные запросы, которые еще не были выполнены. Имейте два из них, и в конфигурации IE по умолчанию все остальные запросы будут бесконечно ждать завершения ожидающих запросов. Запуск fiddler может вылечить это на некоторое время, потому что запросы не направляются напрямую на сервер. Можете ли вы воспроизвести проблему с запуском Fiddler? Видите ли вы невыполненные запросы в Fiddler?

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

Включите отладку JavaScript в IE и проверьте наличие ошибок.

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

Убедитесь, что вы настроили connect: close в заголовке HTTP, когда закончите.

...