Уведомление о превышении времени ожидания сеанса ASP.NET в Silverlight 4 - PullRequest
1 голос
/ 03 февраля 2011

У меня есть приложение Silverlight 4. Моя задача состоит в том, чтобы уведомить пользователя Silverlight о том, что его сеанс ASP.NET скоро истекает, с помощью простого диалогового окна, говорящего что-то вроде: «Ваш сеанс вот-вот истекает, вы хотите сбросить сеанс?» с двумя кнопками [Да] и [Нет]. Когда пользователь нажимает [Да], я хотел бы обновить сеанс ASP.NET, иначе я бы просто позволил ему истечь. Какую методологию лучше использовать здесь?

Я просматривал разные форумы, и большинство людей просто время от времени просто опрашивают сервер со страницы, на которой размещено приложение Silverlight. Это не подойдет для меня. Я думал о создании одноэлементного DispatcherTimer, который будет запускаться при запуске приложения Silverlight, будет извлекать значение Session.Timeout с сервера с использованием WCF и будет работать в течение (Session.Timeout - некоторая дельта) минут. Когда таймер истекает, он открывает окно уведомлений. Более того, так как это окно уведомлений должно появляться только после периода бездействия, я хотел бы сбрасывать этот таймер каждый раз, когда выполняется вызов WCF (который по существу определяет активность). Это звук? Есть ли лучшие методы? Что ты думаешь?

P.S. Я также планирую сделать нечто подобное для тайм-аута форм.

1 Ответ

0 голосов
/ 03 февраля 2011

Вы можете или не можете быть против этого, но я нашел полезным в RIA иметь таймер, который отправляет запрос проверки активности на сервер ASP.NET, чтобы предотвратить истечение сеанса, покаПриложение активно.В то же время, если на сервере что-то произошло, что привело к истечению сеанса, вы можете обнаружить это условие в обработке keepalive и сообщить клиенту, что истек срок действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...