Активные сеансы на определенной странице

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

Например, если у вас было 2 пользователя, просматривающих в настоящее время «page.aspx», то он сообщит о 2 пользователях, активных для этой страницы.

Я знаю только, что могу запросить текущий сеанс в отделенном коде, используя Page.Session


person luke2012    schedule 27.08.2012    source источник


Ответы (1)


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

Техника заключается в том, чтобы при каждом запросе регистрировать запрошенную страницу; каждый раз, когда этот пользователь (как-то однозначно идентифицированный) переходит на другую страницу, его «последняя запрошенная страница» обновляется вместе с отметкой времени, вы можете предположить, что если последующий запрос не будет сделан, скажем, через 5 минут, то они закрыты окно браузера.

Альтернативой является использование опросника Javascript или обработчика событий окна, но это ненадежно, и вы никогда не должны зависеть от этого в своем приложении.

person Dai    schedule 27.08.2012