bijeesh06 Ответов: 3

Удалить сеанс при закрытии браузера ASP.NET


Мне нужно удалить определенный сеанс при закрытии браузера. Проект находится в стадии реализации asp.net с помощью c#.

Что я уже пробовал:

I need to remove a specific session on closing the browser. The project is in asp.net with c#.

Gerry Schmitz

Что это значит? "Пользователь" закрывает "браузер". Вы хотите, чтобы "истечь" что-то?

bijeesh06

да

3 Ответов

Рейтинг:
2

OriginalGriff

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

Даже если бы они были, что произойдет, если пользователь вытащит сетевой провод?


Рейтинг:
2

F-ES Sitecore

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


Рейтинг:
1

MadMyche

Ничего такого, что было бы на 100% надежным, но есть варианты, некоторые более сложные, чем другие.

1. Настройка WebSockets. Кажется излишним, если он будет использоваться только для мониторинга, если сервер имеет активное подключение к браузеру.

2. Кометы. Подход на основе AJAX, используя таймер javasript постоянно связь с сервером для создания квази длительные HTTP-запроса. Как только страница/вкладка будет закрыта, она разорвет цикл, и вы будете знать, что этот сеанс закрыт.

3. События в JavaScript onunload и onbeforeunload. Используйте события для запуска сообщения AJAX, уведомляющего о закрытии сеанса. Они, вероятно, должны были бы запустить оповещение/подтверждение сразу после сообщения, чтобы AJAX завершился до того, как запрос будет прерван.

4. "намерения". Те раздражающие javascripts, которые вызывают всплывающее модальное окно, когда мышь покидает область просмотра. И снова это вызовет вызов AJAX.


Richard Deeming

Но ни один из них не смог бы отличить одно от другого. "пользователь закрыл браузер", "пользователь закрыл вкладку, но сайт открыт в другой вкладке", и "пользователь перешел на другую страницу, возможно, на том же сайте". :)

MadMyche

Я не возражаю и отрицаю ее как ненадежную.