摘要:[VB] ASP.NET 計算線上人數方法
前言
在 ASP.NET 中如果要做類似計算進入網站的人數處理話,可以透過 Application 全域變數處理,請看以下範例。
範例
Step 1
在 MasterPage 或者要計算之頁面加入以下程式碼:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'計算在線人數
Label2.Text = Application("online").ToString
End Sub
Step 2
在專案內加入一個 Global.asax ,加入以下程式碼:
Imports System.Web.SessionState
Imports System.Data
Imports System.Data.SqlClient
Public Class Global_asax
Inherits System.Web.HttpApplication
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' 在應用程式啟動時引發
'將 Application 全域變數初始化為 0
Application("online") = 0
End Sub
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' 在工作階段啟動時引發
'Session 存活時間,如需要 Login 則將此段註解
Session.Timeout = 1
'Application 鎖定
Application.Lock()
'在線人數 +1
Application("online") = CInt(Application("online")) + 1
'更新總瀏覽人數
UpdateCount(1)
'Application 解鎖
Application.UnLock()
End Sub
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
' 在每個要求開頭引發
End Sub
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
' 在一開始嘗試驗證使用時引發
End Sub
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
' 在錯誤發生時引發
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' 在工作階段結束時引發
Application.Lock()
'當 Session 結束後,將在線人數 -1
Application("online") = CInt(Application("online")) - 1
Application.UnLock()
End Sub
Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' 在應用程式結束時引發
'應用程式結束時將在線人數歸 0
Application("online") = 0
UpdateCount(2)
End Sub
Public Sub UpdateCount(ByVal state As String)
'更新資料庫語法
End Sub
End Class
參考資料
以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)