Потеря сеанса по запросу AJAX только на IE8, поражающем Server 2003 - PullRequest
0 голосов
/ 03 февраля 2012

ОК, поэтому у нас возникла проблема с одной частью нашего веб-приложения, когда сессия теряется, когда мы нажимаем обработчик AJAX (.ashx) из javascript, используя jQuery для выполнения вызова.

Это, однако, происходит только при определенных обстоятельствах: хост-машины работают на Server 2003 с IIS 6.0 , а клиенты используют IE8 . Клиенты IE8 могут поразить машину Server 2008 с IIS 7 , и она работает, а клиенты IE9 могут поразить машины Server 2003 , и она работает (клиенты IE9 работать с любым типом хоста).

Мы используем отлаживаемые и предварительно скомпилированные версии сайта, и результаты остаются одинаковыми для обоих. У меня есть класс .ashx, реализующий IRequiresSessionState (мы также пытались IReadOnlySessionState, и он не работал).

Часть нашего приложения, в которой это происходит, также находится в виртуальном каталоге нашего основного приложения.

Мы довольно долго возились с этим и не смогли решить эту проблему. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 05 апреля 2013

Была проблема с использованием Ruby - оказывается, что в Windows 7 заголовок запроса Accept-Language, отправляемый IE, таинственным образом изменяет регистр между AJAX и обычными запросами ....

т.е. Обычный запрос: «en-au», Запрос AJAX: 'en-AU'

Это запустило тест перехвата сеанса в самоцвете защиты стойки, очистив сеанс и доставив мне неприятности ......

IEEEEEEEEEEEEEE

...