ASP .NET теряет сеанс между страницами - PullRequest
1 голос
/ 20 апреля 2011

Я столкнулся со странной ошибкой, я теряю сессии при перемещении между страницами.

Я только что понял, почему это происходит, но могу понять, как это исправить.

Я теряю сеансы, потому что я использую меню Flash (swf) для навигации по страницам.

Так что, когда я перехожу на страницу с помощью меню Flash, я теряю сессию.

Есть ли способ это исправить?

----------------------- РЕДАКТИРОВАТЬ ----------------------

Это не позволяет мне ответить на мои собственныевопрос, так вот ответ:

Спасибо за ответ, но проблема не была вспышкой ..

Я только что узнал, что сессия была открыта http://WebSite.com/ И флэш-память перенаправлялась на http://www.WebSite.com/

Таким образом, сеанс переносится между доменами, а не между страницами из-за flash :) Я просто заставил весь свой сайт использовать домен www.

Спасибо, Дэн

Ответы [ 3 ]

1 голос
/ 20 апреля 2011

Причина, по которой это происходит, заключается в том, что flash не отправляет файл cookie ASP.NET вместе с запросом, поэтому ASP.NET не имеет ни малейшего представления о том, кто вы есть, когда запрос выполняется с помощью flash.

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

Вот немного фона:

http://swfupload.org/forum/generaldiscussion/98

РЕДАКТИРОВАТЬ: Нашел этот ТАК вопрос, который также может помочь:

Сессия отличается, если Flash загружает фотографию на страницу aspx

1 голос
/ 28 апреля 2011

Спасибо за ответ, но проблема не была вспышкой ..

Я только что узнал, что сессия была открыта на http://WebSite.com/ И флэш-память перенаправлялась на http://www.WebSite.com/

Так что сеанс проходит между доменами, а не между страницами из-за flash :) Я только что заставил весь свой сайт использовать домен www.

Спасибо, Дэн

0 голосов
/ 20 апреля 2011

Попробуйте использовать fiddler2, чтобы проверить заголовок html и убедиться, что маркер аутентификации остается прежним при переходе на новую страницу с помощью флэш-меню.

...