Подсчет пользователей онлайн с использованием asp.net

Я хочу создать веб-сайт, для которого мне нужно вести учет пользователей онлайн и постоянно показывать его на главной странице. Мне не интересно применять готовые к использованию модули для него. Вот что я уже сделал:

Добавление файла Global.asax в мой проект

Написание следующего фрагмента кода в файле Global.asax:

<code>void Application_Start(object sender, EventArgs e) 
{
    Application["OnlineUsers"] = 0;
}

void Session_Start(object sender, EventArgs e) 
{
    Application.Lock();
    Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1;
    Application.UnLock();
}

void Session_End(object sender, EventArgs e) 
{
    Application.Lock();
    Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1;
    Application.UnLock();
}
</code>

На самом деле это работает нормально, но я нашел следующую ошибку:   - & GT; Даже если пользователь закрывает браузер, реальное количество онлайн-пользователей не отображается       поскольку тайм-аут сеанса еще жив!

Есть ли решение, кроме изменения интервала времени ожидания сеанса?

Ответы на вопрос(4)

Ваш ответ на вопрос