Каков наилучший способ определить «выход пользователя из системы» на сервере IIS в C # / Asp.Net? - PullRequest
2 голосов
/ 13 января 2010

Каков наилучший способ определения «выхода пользователя из системы» на сервере IIS в C # / Asp.Net?

У меня есть приложение, в котором вошедшие в систему пользователи могут инициировать длительные действия на сервере. Эти действия должны быть прекращены, когда пользователь выходит из системы.

Когда пользователь нажимает на выход из системы, это не проблема, но как мне определить, что пользователь вышел из системы, например, в случае сбоя браузера пользователя, потери соединения и т. Д.

Ответы [ 3 ]

3 голосов
/ 13 января 2010

Сократите время ожидания сеанса приложения и выполните какой-либо опрос (например, запрос AJAX) для веб-приложения.

Опрос заботится о поддержании сеанса, и если браузер закрывается без соответствующего выхода из системы, или он выходит из строя, он прекращается, и сессия скоро заканчивается.

0 голосов
/ 13 января 2010

Некоторые онлайн-банки, такие как HSBC , реализуют нечто подобное, просто через 1 минуту появляется всплывающее окно, в котором ни один пользовательский ответ (например, нажав кнопку ОК) не закрывает окно и не выходит из него. *

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

0 голосов
/ 13 января 2010

Это невозможно. Браузер работает на другом компьютере и не сообщит серверу о сбое!

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