Discussion:
關於"線上人數"不正確的問題...
(时间太久无法回复)
dvd333
2006-04-20 02:02:02 UTC
Permalink
我是用最普遍的 Session + Application 做法來計算目前線上人數 (程式如下)
可是人數一直算不正確, 好像都會變2倍
而且當有人離線時, 數目都不會減少
一直要到全部人都離線, 數目才會歸0
是不是程式有問題還是有其他要設定的???


<<< Global.asa >>>
========================================================
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart

Application("vistors") = 0 '目前線上人數
End Sub

Sub Session_OnStart
'新訪客來訪,總人數加一
Application.Lock
Application("vistors") = Application("vistors") + 1
Application.Unlock
End Sub

Sub Session_OnEnd()
Application.Lock
'有訪客離開時,總人數減一
Application("vistors") = Application("vistors") - 1
Application.Unlock
End Sub

</SCRIPT>
ASP.NET MVP - §õ«¶¿«
2006-04-28 06:29:40 UTC
Permalink
€£¬O±zªºµ{Š¡Š³°ÝÃD¡AŠÓ¬O OnEnd šÆ¥ó­nµ¥šì Session Expired (€j·§ Client µL°Ê§@€§«á 20€ÀÄÁ) ¥H«á€~·|³Q°õŠæšì¡C

----------------
§Ú¬O¥Î³ÌŽ¶¹Mªº Session + Application °µªkšÓ­pºâ¥Ø«eœu€W€HŒÆ (µ{Š¡Šp€U)
ŠÓ¥B·íŠ³€HÂ÷œu®É, ŒÆ¥Ø³£€£·|Žî€Ö
¬O€£¬Oµ{Š¡Š³°ÝÃDÁÙ¬OŠ³šä¥L­n³]©wªº???
<<< Global.asa >>>
========================================================
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("vistors") = 0 '¥Ø«eœu€W€HŒÆ
End Sub
Sub Session_OnStart
Application.Lock
Application("vistors") = Application("vistors") + 1
Application.Unlock
End Sub
Sub Session_OnEnd()
Application.Lock
Application("vistors") = Application("vistors") - 1
Application.Unlock
End Sub
</SCRIPT>
dvd333
2006-04-28 12:15:02 UTC
Permalink
了解....謝謝!!


"ASP.NET MVP - ???" 來函:
不是您的程式有問題,而是 OnEnd 事件要等到 Session Expired (大概 Client 無動作之後 20分鐘) 以後才會被執行到。
----------------
世事無絕對
Post by dvd333
我是用最普遍的 Session + Application 做法來計算目前線上人數 (程式如下)
可是人數一直算不正確, 好像都會變2倍
而且當有人離線時, 數目都不會減少
一直要到全部人都離線, 數目才會歸0
是不是程式有問題還是有其他要設定的???
<<< Global.asa >>>
========================================================
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("vistors") = 0 '目前線上人數
End Sub
Sub Session_OnStart
'新訪客來訪,總人數加一
Application.Lock
Application("vistors") = Application("vistors") + 1
Application.Unlock
End Sub
Sub Session_OnEnd()
Application.Lock
'有訪客離開時,總人數減一
Application("vistors") = Application("vistors") - 1
Application.Unlock
End Sub
</SCRIPT>
继续阅读narkive:
Loading...