2009-09-25 51 views
0

我創建了一個桌面應用程序,它具有服務器客戶端訪問...每個用戶將有不同的登錄。現在的問題是,當一個用戶登錄時,同一用戶無法從其他PC登錄... msg應該是'用戶已登錄'。在ASP.Net中,它可以通過會話來實現..但是,如何在桌面應用程序中執行此操作。有一個解決方案..我們可以爲登錄的用戶維護一個日誌表。但是,這也將面臨死鎖的情況....是否有任何其他解決方案爲單一用戶登錄?單用戶單登錄

+0

只是想添加一條評論。 '用戶已經在使用'不是一個很好的答案停止嘗試然後用戶已經登錄,因爲它「可以」是野蠻的強迫獲得用戶名。只是我的2美分... – bastianneu

+0

當然,除非輸入正確的憑證(用戶名和密碼不僅僅是用戶名),否則不應顯示「已登錄」消息。那麼通常就沒有更多的信息泄漏。 –

+0

好吧..這不是問題..但是,我不應該允許進一步登錄,如果用戶已經登錄在不同的電腦 – Nila

回答

1

您可以設置登錄超時以避免死鎖,併發送「活」信號到服務器以更新用戶的狀態登錄。

+0

好主意..謝謝你!我會試試這個 – Nila

1

然後你需要檢查你的用戶是否登錄或登錄之前。您可以在用戶表格或特殊表格中使用特殊字段。什麼僵局?所有你需要的是一個讀訪問,以確保特定用戶沒有登錄。

+0

我懷疑他意味着與死鎖是針對那些用戶不記錄日誌(應用程序崩潰,網絡問題等)。如果沒有處理,用戶將再次登錄問題。 –

+0

這可以通過「活動超時」來減輕 - 即,如果用戶未以x分鐘/秒/小時(取決於應用程序以及使用頻率)訪問應用程序,則會自動踢出。這有點混亂,但它在某些情況下會起作用。 – Streklin

+0

我應該怎麼知道他沒有訪問應用程序? – Nila