我正在開發一個C#的獨立單用戶桌面應用程序,它需要用戶登錄到應用程序。我想確保當5分鐘左右沒有活動時,應用程序將提示用戶再次登錄。我有幾個解決方案要做到這一點,但似乎並不高效。以前在進行網絡編程時,我能夠使用會話變量來實現這種功能,C#中有類似的功能可用於桌面應用程序。C#桌面應用程序中的會話變量?
回答
這樣做的一種方法是設置一個始終運行的5分鐘計時器,並在用戶滴答時記錄用戶。然後,您可以從一開始就有任何活動重新啓動計時器。
如果這是一個WinForms應用程序,您可以讓您的頂級窗體實現IMessageFilter
。在您的PreFilterMessage
函數中,您將重新啓動計時器,並返回false
以獲取指示活動的消息(WM_KEYDOWN
,WM_MOUSEMOVE
等)以使所有內容都得到正常處理。
感謝您的輸入。我也有一個類似的解決方案。我會執行這個。 – abduls85 2011-02-11 03:16:46
不,但會話狀態只是幫助克服Web應用程序無狀態性質的變量列表。由於桌面應用程序不是無狀態的,因此沒有必要。我只需使用一個簡單的計時器或類似的東西,並在用戶閒置5分鐘後將用戶註銷。
您可以隨時在Windows窗體應用程序中添加觸發器以自動註銷。這裏是一個例子鏈接與接受的答案
How can I trigger an auto-logout within a Windows Forms Application?
監控用戶活動,您可以創建一個自定義的基於表單類 從您的申請表格將繼承。您可以在 中訂閱MouseMove和KeyDown事件(將KeyPreview 屬性設置爲true),無論用戶何時激活 ,都會引發其中任一項。然後,您可以創建一個System.Threading.Timer,並將應有的 時間設置爲30分鐘,並在檢測到用戶活動時使用Change()方法 將其推遲。
- 1. C#桌面應用程序?
- 2. Java Web應用程序會話變量
- 3. 桌面應用程序C#全局變量
- 4. 使用桌面應用程序的PHP會話
- 5. GetCurrentSession會話作用於桌面應用程序
- 6. 帶桌面應用程序的java桌面應用程序
- 7. C++桌面應用程序的網頁
- 8. Facebook的桌面應用程序C++
- 9. 代碼變量與應用程序和會話變量
- 10. C++ MicroServices與桌面應用程序
- 11. c#windows桌面應用程序.MVS
- 12. DotNetOpenAuth和C#桌面應用程序
- 13. C#桌面應用程序許可證
- 14. Quartz.Net桌面應用程序執行/ C#
- 15. C#tabindex - 泛化(桌面應用程序)
- 16. facebook桌面應用程序C#
- 17. 腳本與c#桌面應用程序
- 18. C#windows桌面應用程序
- 19. Web應用程序中的SSRS報告清除會話變量?
- 20. 在Codeigniter應用程序中銷燬會話變量的Firebug
- 21. WCF應用程序中的會話變量
- 22. 在所有會話中頻繁引用應用程序變量
- 23. C#會話變量
- 24. 將java小程序嵌入到C#桌面應用程序中
- 25. 如何在基於Java的桌面應用程序中管理會話?
- 26. JSF桌面應用程序
- 27. Facebook桌面應用程序
- 28. 桌面應用程序
- 29. Flash桌面應用程序
- 30. netbeans桌面應用程序
你可以使用一個簡單的定時器用於該 – 2011-02-11 02:23:07
可能重複[如何自動註銷在Windows窗體應用程序(http://stackoverflow.com/questions/4603374/how-to-auto-logout-在Windows窗體應用程序) – Gabe 2011-02-11 02:55:46