количество активных пользователей
От: Аноним  
Дата: 11.04.11 06:57
Оценка:
Подскажите идею... дабы не изобретать велосипед...
Есть asp.net приложение с аутентификацией на формах + session state в базе... необходимо вести учет количества аутентифицированных пользователей.
Проблема в том, что совершено не понятно, что делать, если пользователь закрыл браузер кнопкой "x".
Re: количество активных пользователей
От: Аноним  
Дата: 11.04.11 07:40
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите идею... дабы не изобретать велосипед...

А>Есть asp.net приложение с аутентификацией на формах + session state в базе... необходимо вести учет количества аутентифицированных пользователей.
А>Проблема в том, что совершено не понятно, что делать, если пользователь закрыл браузер кнопкой "x".
— ничего ты не сделаешь.

активным (или он-лайн) пользователем можно считать пользователя, с момента последнего обмена обмена которого прошло не больше времени, чем установленная длительность сессии.
Re[2]: количество активных пользователей
От: Аноним  
Дата: 11.04.11 08:09
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>- ничего ты не сделаешь.


А> активным (или он-лайн) пользователем можно считать пользователя, с момента последнего обмена обмена которого прошло не больше времени, чем установленная длительность сессии.


Это понятно,
непонятно как отловить этот момент (последний запрос + таймаут), ибо Global.asax Session_OnEnd у меня не случается, т.к. sessionState mode <> "InProc".
Видимо должна быть некая механика, которая хранит в HttpContext.Application список активных пользователей со временем их последней активности, и перманентно прибивает записи по таймауту. Собственно весь вопрос в том, кто и как делал такую механику.
Мне она кажется не вполне очевидной и тривиальной.
Re[3]: количество активных пользователей
От: Аноним  
Дата: 11.04.11 09:18
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Это понятно,

А>непонятно как отловить этот момент (последний запрос + таймаут), ибо Global.asax Session_OnEnd у меня не случается, т.к. sessionState mode <> "InProc".
А>Видимо должна быть некая механика, которая хранит в HttpContext.Application список активных пользователей со временем их последней активности, и перманентно прибивает записи по таймауту. Собственно весь вопрос в том, кто и как делал такую механику.
А>Мне она кажется не вполне очевидной и тривиальной.

Бегите по журналу в БД и выбираете юзеров у которых время последнего запроса+время_жизни_сессии Б текущего временеи = суммируете их => получаете количество
Re[3]: количество активных пользователей
От: Аноним  
Дата: 11.04.11 13:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Это понятно,

А>непонятно как отловить этот момент (последний запрос + таймаут), ибо Global.asax Session_OnEnd у меня не случается, т.к. sessionState mode <> "InProc".
А>Видимо должна быть некая механика, которая хранит в HttpContext.Application список активных пользователей со временем их последней активности, и перманентно прибивает записи по таймауту. Собственно весь вопрос в том, кто и как делал такую механику.
А>Мне она кажется не вполне очевидной и тривиальной.

Session_OnEnd и не случиться — это вообще вроде по Abandon-методу поднимается(?)
Никакой механики такой быть не может и нигде в инфраструктуре никакой список активных пользователей храниться не будет, т.к., ИМХО, это сильно накладно и противоречит идеологии клиент-серверной архитектуры.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.