Try:
1) Setup Web.Config file: Add your "breakpoint" (the amount of visits before the Application object dumps it's count to the Database
2) Global.asax:
Sub Application_Start(sender As Object, e As EventArgs)
Application("RunningCount") = Visit.GetTotalCount()
End Sub
Sub Session_Start(sender As Object, e As EventArgs)
Application("TotalUsers") = CInt(Application("TotalUsers")) + 1
Application("RunningCount") = CInt(Application("RunningCount")) + 1
If CInt(Application("TotalUsers")) >= CInt(ConfigurationSettings.AppSettings("MAX")) Then
Visit.Count(CInt(Application("TotalUsers")))
Application("TotalUsers") = 0
End If
End Sub
3) Create a new Class file (Visits.vb):
Public Class Visits
Public Shared Sub Count(visits As Integer)
Dim connectionString As String = "workstation id=GEEK;packet size=4096;integrated security=SSPI;initial catalog=MyDatabase;persist security info=False"
Dim myConnection As New SqlConnection(connectionString)
Dim myCommand As New SqlCommand("UPDATE Visitor SET TotalVisits = @visits + TotalVisits WHERE VisitID = 1", myConnection)
myCommand.Parameters.Add(New SqlParameter("@visits", visits))
Try
myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
Catch
Finally
if myConnection.State = ConnectionState.Open Then myConnection.Close
End Try
End Sub
End Class
Its done!
Have a look at this article:
Implementing Hit Counter in Asp.net[
^]