Το αρχικό μου πρόβλημα ήταν ότι ήθελα να ενημερώνω τον SQL Server με ένα online flag γιά κάθε χρήστη. Το πρόβλημα υπήρχε όταν κάποιος κλείνει τον ie. Τελικά εγκατέλειψα τη λύση της άμεσης ενημέρωσης της βάσης και κατέληξα στα εξής:
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Application("ActiveUsers") = 0
End Sub
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
Session("Start") = Now
Application.Lock()
Application("ActiveUsers") = CInt(Application("ActiveUsers")) + 1
Application.UnLock()
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Application.Lock()
Application("ActiveUsers") = CInt(Application("ActiveUsers")) - 1
Application.UnLock()
End Sub
Ο τρόπος αυτός και με timeout =1 δεν είναι ο πιο αξιόπιστος, αλλά τον χρησιμοποιώ. Πάντως δεν έχω προσέξει κάτι περίεργο με τη σύνδεση με το server λόγω του timeout.
Έχετε να προτείνετε κάτι άλλο;
Ευχαριστώ ...