簡體   English   中英

計算Web應用程序的在線用戶數

[英]counting online number of users of a web application

我正在使用ASP.Net + .Net 3.5 + VS2008 + IIS 7.0 + C#來開發Web應用程序。 我想算一下有多少用戶在線。 這是我目前的實施,

  1. 調用Session_Start時,我會將在線用戶數增加1;
  2. 當調用Session_End時,我會將在線用戶數減少1。

兩個問題,

A該實施是否正確?

B.另一個問題是,我認為這種方法無法實時跟蹤用戶數,因為當用戶關閉瀏覽器時,Session_End不會立即被調用(Session_End將被推遲調用)。 正確?

您使用的是ASP.NET會員資格嗎?

Membership.GetNumberOfUsersOnline()

您可以自定義用戶在web.config被視為“在線”的時間 - 例如

<membership defaultProvider="..." 
            userIsOnlineTimeWindow="10" 
  <providers>
    ....
  </providers>
</membership>

在這里閱讀更多

使用Session_End的另一個問題是它不能可靠地觸發,事實上如果你使用除了inproc會話狀態之外的任何東西你完全不能依賴它。

更好的選擇是使用Membership提供者,看看Membership.GetNumberOfUsersOnline()

您的實施將不會非常准確 - 如果用戶使用兩個瀏覽器登錄,您的計數器將增加兩個。

許多網站只記錄登錄,然后計算最近x分鍾內唯一登錄的數量,以獲得在線總數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM