[英]counting online number of users of a web application
我正在使用ASP.Net + .Net 3.5 + VS2008 + IIS 7.0 + C#來開發Web應用程序。 我想算一下有多少用戶在線。 這是我目前的實施,
兩個問題,
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.