Как найти количество активных пользователей при использовании StateServer

Как узнать количество активных пользователей при использовании StateServer? Также возможно ли запросить StateServer и получить содержимое в состоянии сеанса?

Я знаю, что все это возможно, если вы используете SqlServer для резервного хранилища, но я хочу, чтобы они были в памяти.


person Arron S    schedule 29.10.2008    source источник


Ответы (2)


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

Вы должны иметь возможность видеть, что в данный момент находится в сеансе, с помощью следующего:

StringBuilder builder = new StringBuilder();
foreach ( String key in Session.Contents ) {
    builder.AppendFormat("{0}: {1}<br />", key, Session[key]);
}
Response.Write(builder.ToString());
person Doug Wilson    schedule 29.10.2008
comment
Разве это не будет подсчитывать количество объектов, которые были добавлены в «текущий» сеанс? Я не думаю, что это что-то скажет об общем количестве сессий. Ответ @tormod-hystad кажется более выполнимым - person RobD; 04.10.2013
comment
Я показывал ему, как получить то, что было в сеансе, а не отслеживать текущих пользователей, использующих сеанс. - person Doug Wilson; 01.11.2013

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

Счетчик активных сеансов: «Asp.net» — «Активные сеансы сервера состояний»

Для справки, вот все счетчики производительности, связанные с State Server, с http://msdn.microsoft.com/en-us/library/fxk122b4.aspx

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

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

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

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

person Tormod Hystad    schedule 20.01.2010