我如何繼續檢查用戶是否仍然活躍,就像每1分鐘一樣?我需要知道哪個用戶目前處於活動狀態,誰不在!我沒有使用ASP.NET成員資格提供程序!假設一個用戶同時從3個不同的位置登錄,最多登錄3個登錄,如果同一個用戶(即第4個登錄)嘗試從另一個位置再次登錄,我想阻止第四次登錄。如何檢查用戶是否仍然活動?
我對此也有一些問題!如果用戶拔下連接電纜或關閉瀏覽器,我如何確定用戶是否仍然活動?
我如何繼續檢查用戶是否仍然活躍,就像每1分鐘一樣?我需要知道哪個用戶目前處於活動狀態,誰不在!我沒有使用ASP.NET成員資格提供程序!假設一個用戶同時從3個不同的位置登錄,最多登錄3個登錄,如果同一個用戶(即第4個登錄)嘗試從另一個位置再次登錄,我想阻止第四次登錄。如何檢查用戶是否仍然活動?
我對此也有一些問題!如果用戶拔下連接電纜或關閉瀏覽器,我如何確定用戶是否仍然活動?
我需要更多關於你正在努力完成的事情的細節,因爲你問了一個相當模糊的問題。但是,我認爲確定用戶是否活動的最好方法是檢查他們的ASP.NET會話是否仍然存在。沒有「準確的」方法來測試用戶是否仍在瀏覽您的網站,因爲他們可能正坐在那裏閱讀,或者是AFK,或者在他們的計算機上處於另一個程序中......如果不是數百個情景,可能存在數十個在客戶端。
但是,用戶的ASP.NET會話只會在用戶的每個活動(GET,POST等)之間生存一段特定時間。通常在20分鐘後,ASP.NET將清理用戶會話,當它發生的時候,它會觸發一個Session_End事件,這個事件可以在Global.asax或者自定義的HttpModule中處理。然後,您可以將該用戶標記爲在您自己的數據庫中處於非活動狀態,發送電子郵件或執行您需要執行的任何操作。
您可以使用HttpResponse.IsClientConnected屬性來檢查用戶是否仍然連接到會話。有關詳情請參閱本 - > http://msdn.microsoft.com/en-us/library/system.web.httpresponse.isclientconnected.aspx
Alternatevely,你可以在Global.asax的設定Session_OnState計數器檢查可用的活動會話,並以此爲基礎進行你的東西。
無論如何感謝您的答案!我找到了自己的解決方案! – 2009-06-25 09:58:27