2010-07-13 106 views
0

我在我的項目中實現了自定義成員資格提供程序。我在數據庫上保留了一個標誌以使用戶在線。我想在註銷時重置此標誌,如果用戶正確註銷,我可以執行此操作。即使瀏覽器直接關閉或任何機器故障或正常超時,我也必須重置數據庫上的標誌,否則會員提供商的任何技巧都可以解決此問題。專家正在等待你的答案!!!!!!!asp.net 4.0中的自定義成員資格提供程序超時

謝謝。

回答

0

只是爲用戶設置一個字段,如IS_LOGOUT_BUTTON_PRESSED typeof(bool)默認爲假 如果用戶單擊LogOut將其設置爲TRUE。 如果用戶關閉瀏覽器,它將保持爲假。然後你可以看到用戶做了什麼。

+0

謝謝, 該變量如何幫助瞭解用戶會話是否可用或已過期。 – user390434 2010-07-13 13:06:35

0

我害怕你對風車傾斜。

您會注意到,sql提供程序通過更新大多數所有提供程序方法(以及隨後的存儲過程)中的最後一個活動,然後使用預定義的「在線時間窗口」來確定用戶是否實現了「在線用戶」,以確定用戶是否爲可能仍然在線。

要實現一個權威的'is_online'標誌,需要您完全控制用戶啓動會話和結束會話的方式,由於瀏覽器ui的性質和會話和票證到期的方式會被碰撞。

因此,你永遠不能真的請確保用戶是否在線或不在線,爲您做出的任何努力來跟蹤這一指標不可靠。

而不可靠的數據往往比沒有數據的價值。

我相當肯定你會發現,除了在試圖將問題中所描述的絕對值應用於會話和票據的無狀態和自由格式性質時,會感到沮喪。

對不起,我沒有更好的消息。

相關問題