2010-05-03 2 views
1

Я хотел бы узнать количество пользователей, зарегистрированных в моем приложении ASP.NET 2.0.Получить количество одновременных пользователей онлайн - ASP.NET

Очков, подлежащих рассмотрению: 1) Простейшим способом было бы использовать объект Application или Cache, чтобы иметь счет в начале или в конце сеанса. Однако это не сработает, если будет перезагружен рабочий процесс. Не так ли?

2) Должна иметь значение, управляется ли сеанс сервером управления inproc/state/или сервером SQL.

3) Следует предпочтительно быть бесшовным для архитектуры веб-фермы.

ответ

6

Если вы используете встроенный провайдер членства ASP.NET, тогда существует всегда удобный метод Membership.GetNumberOfUsersOnline().

(Конечно, это работает только пользователям, прошедшим проверку ...)

+0

+1 к вам. Любые дела и не нужны в архитектуре веб-фермы? Является ли это зависимым от машины подходом? –

+0

Элемент членства ASP.NET использует архитектуру на основе провайдера, поэтому зависит от того, какой поставщик вы используете. Однако все встроенные (SqlMembershipProvider, ActiveDirectoryMembershipProvider) работают в веб-ферме. –

1

Вы должны сохранить онлайн-статус пользователя в базе данных. Каждый раз, когда перемещается страница, обновляется их информация LastActivity (в таблице базы данных).

Создание задания SQL, которая работает и регистрирует пользователь, если имеется X количество бездействия (и, конечно, если они на самом деле ударили выход из системы, обновить базу данных, чтобы отметить пользователь в автономном режиме)

+0

Я надеялся избежать явной операции CRUD для этой цели ... –

0

ASP.Net приходит с несколькими счетчиками производительности

http://msdn.microsoft.com/en-us/library/fxk122b4.aspx

состояние сервера Сеансы Активный число активных в данный момент сеансов пользователей. Этот счетчик доступен только на компьютере, на котором запущена служба состояния сервера (aspnet_state).

Запросы/Sec Число запросов, выполняемых в секунду. Это представляет текущую пропускную способность приложения. При постоянной нагрузке это число должно оставаться в определенном диапазоне, запрещая работу другого сервера (например, сбор мусора, поток очистки кэша, внешние серверные инструменты и т. Д.).

+0

Как этот показатель подход при взгляде на архитектуру веб-фермы? Кроме того, какова альтернатива при использовании InProc-режима? –

Смежные вопросы