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

2

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

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

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

Теги:
session
iis

3 ответа

3
Лучший ответ

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

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

0

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

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

0

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

  • 0
    Нет. Я не собираюсь определять сбои браузера, скорее, я пытаюсь выяснить, как прекратить инициированные пользователем длительные действия на сервере.
  • 0
    @Varma: вы сказали: «но как мне определить, что пользователь вышел из системы, например, в случаях, когда произошел сбой браузера пользователя». Если вы не это имели в виду, пожалуйста, отредактируйте ваш вопрос соответствующим образом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню