Подскажите идею... дабы не изобретать велосипед...
Есть 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-методу поднимается(?)
Никакой механики такой быть не может и нигде в инфраструктуре никакой список активных пользователей храниться не будет, т.к., ИМХО, это сильно накладно и противоречит идеологии клиент-серверной архитектуры.