Как я могу найти количество посетителей / пользователей на моем сайте (IIS7 / asp.net) в любой момент? - PullRequest
5 голосов
/ 27 апреля 2010

Мне нужно показать, сколько пользователей просматривают мой сайт. Сайт работает на iis7, и мы используем asp.net 3.5.

Является ли количество активных сессий хорошим способом? Число не обязательно должно быть очень точным.

Никакой истории не нужно, я просто хочу знать, сколько пользователей сейчас «онлайн», и отобразить это на самой странице.

Ответы [ 4 ]

4 голосов
/ 27 апреля 2010

Для этого можно использовать счетчики производительности Windows (perfmon)

Приложения ASP.NET> Счетчик активного сеанса.

Доступ к этим счетчикам производительности можно получить с помощью пространства имен System.Diagnostics.

Этот код работал для меня:

        PerformanceCounter pc = new PerformanceCounter("ASP.NET Applications",
     "Sessions Active", "__Total__", "MYSERVERHOSTNAME.domain");

        while (true)
        {
            Console.WriteLine(pc.NextValue());
            System.Threading.Thread.Sleep(1000);
        }

У меня была эта проблема, поэтому посмотрите здесь, если счетчик кажется слишком высоким: http://support.microsoft.com/kb/969722

1 голос
/ 27 апреля 2010

Один из способов сделать это - просто сохранить в журналах IIS свои данные в виде таблицы в вашей базе данных вместо локальной файловой системы. Это довольно легко настроить на уровне веб-сервера.

Тогда вы можете легко составить график и показать использование в течение дня, текущего, еженедельного и т. Д.

Конечно, если у вас есть сайт с высокой посещаемостью, это приведет к огромному количеству собранных данных.

1 голос
/ 27 апреля 2010

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

Например, сеансы обычно длятся в течение предопределенной продолжительности, такой как 30 минут. В зависимости от того, как долго вы ожидаете, что пользователи будут на вашем сайте, продолжительность сеанса может быть во многом обусловлена ​​временем простоя, когда пользователь не на вашем сайте.

Как правило, вы хотите, чтобы люди, которые были в сети в течение последних n минут. Сеансы дают вам эту статистику за один период времени (настроенное время истечения сеанса), но есть много других временных измерений, которые потенциально могут быть более актуальными.

0 голосов
/ 07 апреля 2015

Для веб-сайтов EPiServer вы можете взглянуть на Live Monitor: http://www.episerver.com/add-on-store/episerver-live-monitor/

...