2012-04-18 12 views
-2

asp.netウェブサイトの現在の訪問者数を確認するにはどうすればよいですか?私はすでに以下のテクニックに精通していますが、正確な結果に近いものではありません。asp.netウェブサイトのライブ訪問者数を確認するには?

  • アプリケーション変数アプリケーション[「USERCOUNT」]
  • を作成し、それを増やしセッション開始に
  • は、この手法は、要求がWebクローラから来ているかどうかをチェックしませんセッション終了に

それを下げますロボットやその他のスパマーサーバーが新たなセッションでいくつかのページを要求することがあります。

同じウィンドウや別のウィンドウで他のサイトを表示していても、少なくとも自分のサイトが開いていても、自分のウェブサイトを閲覧するためにブラウザ(モバイルまたはデスクトップ)を開いていることを確認したい1つのタブまたは1つのウィンドウ。

私のページをそれぞれ読み込み、自分のサイトが開いていることをサーバーに伝えるような、Ajaxの隠されたリクエストメーカーのようなものです。

ありがとうございました。

+1

Googleアナリティクスを調べることはできますが、価格モデルがどのようなものか分かりません。私は以前にそれを使ってきましたが、うまく動作します。 – SouthShoreAK

答えて

1

リクエストでuser-agentを見ることができます。 Request.Browser.Crawlerを使用して、検索エンジンのクローラからのリクエストかどうかを確認できます。ブラウザがクローラの場合はtrueを返します。

ページへのjavascript呼び出しを使用して訪問者数を更新することもできます。これは、リクエストが実ユーザの場合にのみビジターカウントが更新されることを保証するために、上記の手法と組み合わせることができます。ユーザー数を減らしたときに、要求がクローラでないことも確認する必要があります。例

 //increase the user count 
     if (Request.Browser.Crawler == false) 
     { 
      Application["user_count"] = +1; 
     } 

     //decrease the user count 
     if (Request.Browser.Crawler == false) 
     { 
      Application["user_count"] = -1; 
     } 

のためにまた、同じイベントを実行するために、アプリケーションのGlobal.asaxファイル内のSession_Endとのsession_startイベントを使用することができます。

+0

これは100%正確ではありませんが、近い結果に見えます。 –

1

アプリケーションを使用してデータを保存できます。ウェブサイトやWebアプリケーションの初期段階ではまあまあです。ただし、サイトがロードされたときに、アプリケーション状態への複数のアクセスの問題を調べる必要があります。

関連する問題