自分のサイトのオンライン訪問者数を知りたい。私は自分の調査を行い、2つの解決策を見つけました。
出典:
ASP.NETのCodeProjectOnlineアクティブユーザーカウンター
セットアップと使用は簡単ですが、すべてのAjaxリクエスト/レスポンスのユーザー数も増えます。私のホームページだけでも12のAjaxリクエストがあります(1つのページに8つのリクエスト、別のページに4つのリクエスト)。これにより、ユーザー数が劇的に増加します。
出典:Stack Overflow Q / A
訪問者数を数える
これは、前のものとまったく同じように機能します。
出典:ASP.Netフォーラム C#を使用して「オンラインのユーザー」を確認する方法
これは前の2つより良く見えます。このソリューションの詳細コードは次のとおりです。
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
HttpContext.Current.Application["visitors_online"] = 0;
}
void Session_Start(object sender, EventArgs e)
{
Session.Timeout = 20; //'20 minute timeout
HttpContext.Current.Application.Lock();
Application["visitors_online"] = Convert.ToInt64(HttpContext.Current.Application["visitors_online"]) + 1;
HttpContext.Current.Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
HttpContext.Current.Application.Lock();
Application["visitors_online"] = Convert.ToInt64(HttpContext.Current.Application["visitors_online"]) - 1;
HttpContext.Current.Application.UnLock();
}
すべてのAjax応答のカウントの増加を無視できるようですが、それでもページの更新またはページ要求ごとに合計されます。
ASP.Netのオンライン訪問者の正確な数を数える方法はありますか?