63 / 63 / 14
Регистрация: 05.08.2011
Сообщений: 323
Записей в блоге: 5
1

Silvrelight - сессия теряется при логауте в другом окне

26.03.2013, 01:27. Показов 702. Ответов 2

У меня есть бизнес-приложение, в котором связь с базой данных осуществляется посредством WCF RIA сервисов (DomainService).

После успешной авторизации, я могу получить информацию о сессии следующим примером, выполненным на стороне сервера:
C#
1
System.Web.HttpContext.Current.User.Identity.Name
Если возвращается некое имя пользователя (admin, к примеру) - значит сессия открыта и работает и я имею доступ к БД и могу получить ответ от неё. Если это имя пустое - значит сессия была окончена (утеряна, не знаю как сказать правильно) и любая попытка обратиться к БД через доменные сервисы моментально возвратит исключение. Всё просто. Я указал 45 минут на таймаут сессии. В случае, если я 45 минут не обращаюсь в бд, сессия автоматически теряется. Это тоже работает, всё хорошо.

Однако, я обнаружил странное поведение - если у меня открыто 2 окна с моим приложением, в обоих я авторизовался и имею доступ к бд, в обоих окнах сессия открыта. Если же я в одном из окон выйду из авторизации, то в другом окне автоматически будет утеряна сессия и я не смогу получить ответ от БД (сразу получу исключение), не смотря на то, что в нём я не делал никаких действий.

Подскажите, пожалуйста, как можно решить эту проблему? Дело в том, что я даже не знаю как искать решение в инете на этот вопрос, поэтому обращаюсь к Вам. Помогите, пожалуйста.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2013, 01:27
Ответы с готовыми решениями:

Теряется сессия при POST запросе
Всем привет!) Проблема следующая, в скрипте №1 <?php session_start(); $_SESSION = 'Text...

Сессия при редиректе на другой домен действительно теряется?
Просто я проверяю сейчас на локалхосте такую последовательность действий: при нажатии кнопки...

Теряется сессия в ие.
Всем привет. Есть приложение под фейсбук, оно подгружается через фрейм(возможно это важно). В...

Теряется сессия после редиректа, что делать?
В портале взятом на http://www.skyportal.net www.skyportal.net После редакции темы на форуме...

2
burning1ife
1455 / 1277 / 293
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
26.03.2013, 14:35 2
Цитата Сообщение от Mans7 Посмотреть сообщение
Однако, я обнаружил странное поведение - если у меня открыто 2 окна с моим приложением, в обоих я авторизовался и имею доступ к бд, в обоих окнах сессия открыта. Если же я в одном из окон выйду из авторизации, то в другом окне автоматически будет утеряна сессия и я не смогу получить ответ от БД (сразу получу исключение), не смотря на то, что в нём я не делал никаких действий.
это стандартное поведение, т.е. так и должно быть.

я даже не понимаю, зачем надо изменять это поведение?
1
63 / 63 / 14
Регистрация: 05.08.2011
Сообщений: 323
Записей в блоге: 5
26.03.2013, 20:10  [ТС] 3
Да уже понял, что это стандартное поведение... и почти со всем разобрался. Руки просто не оттуда порой у меня)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2013, 20:10
Помогаю со студенческими работами здесь

Обновить окно при действиях в другом окне
Есть страница с ссылками. При нажатии на ссылку, открывается отдельное окно для редактирования...

Открытие контента в другом окне при клике на ссылку
Всем хай. Можете сказать, как при нажатие на ссылку, открыть контент, в другом окне.Я понимаю, что...

Отображение картинки в другом окне при нажатии на image
Добрый всем день! Подскажите пожалуйста, как можно реализовать открытие картинки в новом окошке,...

При нажатии на picturebox изображение показать в другом окне
здравствуйте, как сделать, чтобы при нажатии на picturebox изображение отображалось в другом окне?:)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru