Завершить сеанс на MVC - PullRequest
       4

Завершить сеанс на MVC

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

У меня есть вопрос, на который вы, вероятно, знаете ответ ... Мое приложение уже работает и работает нормально.Всякий раз, когда пользователь аутентифицирует приложение, обновляет свою модель с LastLoginDate, а когда пользователь выходит из системы, приложение обновляет свою модель с LastLogOutDate.Это работает нормально, пока пользователь продолжает нажимать на ссылку выхода из системы.Однако, если пользователь закрывает окна, значение LastLogOut никогда не обновляется, и происходит то, что администратор видит пользователей в сети, которых нет.То же самое происходит, когда пользователь оставлял вкладку открытой, работая над чем-то другим, и .NET теряет сеанс.

Я не управляю ни временем сеанса, ни какими-либо подобными значениями.Все, что мне нужно сделать, это: если через некоторое время нет активности пользователя, то обновите значение LastLogOut и установите его в автономный режим в своей модели после регулярного выхода из системы.То же самое, если пользователь закрывает окно, но я думаю, что первый случай будет работать в обоих направлениях.

Надеюсь, вы могли бы помочь мне в этом вопросе,

Спасибо.

1 Ответ

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

Вам понадобится отслеживаемый LastActivityTime, который обновляется при любом GET / POST, а также (возможно настраиваемый) тайм-аут, скажем, 20 минут, что при отображении зарегистрированных пользователей будут сравниваться LastActivityTime с DateTime.Now и возвращаться только те, которые находятся в окне тайм-аута.

Вы также можете установить LastLogOutDate на LastActivityTime плюс время ожидания при отображении для администратора.

...