Просто скачал IE9 и поднял свой веб-проект с IHttpHandler, который записывает JavaScript на веб-страницу. Прежде чем написать сценарий, я проверяю, поступил ли запрос от нового сеанса, определив, истек ли срок действия файла cookie сеанса. Итак, вот странная часть: при запуске отладчика IE я вижу два запроса к этому сценарию: первый прерывается, а затем повторяется.
По первому запросу все проходит, как будто все в порядке, без исключений. Обработка и определение, является ли запрос от нового сеанса, выполняется как ожидалось, и я соответственно установил куки. Тогда без причины запрос прерывается.
Затем браузер отправляет второй запрос со старыми просроченными файлами cookie, поэтому определяется, что это новый сеанс, и создается второй сеанс. Этот второй запрос обрабатывается браузером без ошибок.
Это не происходит в FF4, Chrome 10, Safari 5 или даже IE9 в режиме совместимости. Но получите это, он не делает это в стандартном IE9, если веб-приложение размещено на VS2010. Если я запускаю его в IIS, мои сессии удваиваются.
Существует ли настройка IIS, которая может быть причиной этого? Или это IE9, что мне нужно выяснить?
Я использую Win7 Ultimate N x64 в качестве своей машины для разработки.
обновление: еще одна странность: если я обновлю страницу ссылкой на IHttpHandler, первоначальный прерывание не произойдет.
обновление 2: Это сообщение публикуется в отладчике IE9 по второму запросу:
This download occurred following a preparser restart (often due to either document mode switching or mismatched content encoding between a meta tag in the document and the BOM or a server header).