АСП.НЕТ:Всплывающие окна браузера и файлы cookie сеанса

StackOverflow https://stackoverflow.com/questions/200890

Вопрос

КРАТКОЕ СОДЕРЖАНИЕ:При просмотре веб-сайта ASP.NET с помощью проводника Windows всплывающие окна не «заимствуют» файл cookie сеанса из родительского окна.

ПОДРОБНОСТИ:

Я работаю над веб-сайтом ASP.NET (.NET 2.0).Я использую FormsAuthentication.Для обработки сеанса необходимо использовать файлы cookie.

На странице у меня есть кнопка.Когда пользователь нажимает на нее, открывается всплывающее окно.Во всплывающем окне отображается страница ASPX, которая использует переменные сеанса, ранее заданные в родительском окне браузера.Я тестировал веб-сайт с помощью IE (6, 7, 8) и Firefox 2.0.Во всех этих браузерах всплывающее окно имеет доступ к тому же сеансу, что и родительское окно браузера, и все работает нормально.

Теперь у меня есть ошибка, обнаруженная клиентом: во всплывающем окне отображается ошибка.Глядя на файл журнала, я вижу, что это исключение NullReferenceException в тот момент, когда всплывающая страница пытается получить доступ к переменным сеанса.В разговоре с клиентом он сказал, что открыл основной сайт в проводнике Windows!!!

Мне удалось воссоздать проблему на тестовой машине и увидеть, что всплывающее окно использует новый сеанс.

На машине должна быть установлена ​​Win XP и IE6!С IE7 сайт работает нормально.

Это было полезно?

Решение

Я подозреваю, что при открытии из проводника Windows (не то чтобы я полностью понимаю, что вы под этим подразумеваете) отправляемый обратно файл cookie сеанса нигде не сохраняется и, следовательно, недоступен для всплывающего окна, которое можно включить в свой запрос.Я не понимаю, как можно это обойти.Нельзя ли сказать клиенту, что данный способ доступа к приложению не поддерживается?

Другие советы

Я видел ту же проблему с IE 8, проблем не возникает в Firefox, Google Chrome или IE 6.В моем случае я вижу, что сеанс действительно работает, но аутентификация прекращается, снова перенаправляя пользователя на страницу входа, чтобы он мог войти в систему...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top