私は、ユーザーがアプリケーションにログインする必要がある、C#スタンドアローンのシングルユーザーデスクトップアプリケーションを開発しています。 5分ほどもアクティビティがない場合、アプリケーションはユーザーに再度ログインを促すようにしたいと思います。私はこれを行うにはいくつかの解決策がありますが、効率的ではないようです。これまではWebプログラミングを行っていましたが、セッション変数を使用してこの種の機能を実行することができました。デスクトップアプリケーションに使用できるシンプルなC#の機能があります。C#デスクトップアプリケーションのセッション変数?
答えて
これを実行する1つの方法は、常に実行されている5分のタイマーを設定し、それがダンプしたときにユーザーをログアウトさせることです。その後、タイマーを最初から再起動することができます。
これはWinFormsアプリケーションの場合、最上位フォームにIMessageFilter
を実装することができます。 PreFilterMessage
関数では、タイマーを再起動し、すべてが正常に処理されるように、アクティビティ(WM_KEYDOWN
、WM_MOUSEMOVE
など)を示すメッセージに対してfalse
を返します。
入力いただきありがとうございます。私はあまりにも似たような解決策を考えていました。私はこれを実装します。 – abduls85
セッションステートは、Webアプリケーションのステートレスな性質を克服するのに役立つ変数のリストに過ぎません。デスクトップアプリケーションはステートレスではないので、必要はありません。私はちょうど単純なタイマーまたは類似のものを使用し、5分間の非アクティブ後にユーザーをログアウトさせます。
Windowsフォームアプリケーション内の自動ログアウトにいつでもトリガを追加できます。ここでは、ユーザの活動を監視するために受け入れ答え
How can I trigger an auto-logout within a Windows Forms Application?
と例とのリンクがあり、アプリケーションのフォームが継承されるからカスタムフォームベースクラス を作成することができます。ここで MouseMoveとKeyDownイベントを購読することができます(KeyPreview プロパティをtrueに設定します)。どちらもユーザーが アクティブのときに発生します。その後、 時間が30分に設定されたSystem.Threading.Timerを作成し、ユーザーアクティビティが検出されるたびにChange()メソッド を使用して延期することができます。
ご協力ありがとうございます。 – abduls85
- 1. デスクトップアプリケーションにセッション変数が必要ですか?
- 2. セッション変数への動的C#オブジェクト?
- 3. セッション変数 - データテーブルnull値 - asp.net C#
- 4. ユーザーIDを取得し、セッション変数C#
- 5. C#windowsデスクトップアプリケーション.MVS
- 6. dockerize c#.NETデスクトップアプリケーション
- 7. 私のデスクトップアプリケーションで、C#
- 8. Djangoのセッション変数
- 9. gobal.asaxのセッション変数
- 10. ASP.NET:Access.Global.asaxのセッション変数
- 11. CakePHP3のセッション変数
- 12. Javaのセッション変数
- 13. Asp.netセッション変数
- 14. PHPセッション変数
- 15. セッション変数
- 16. Pythonセッション変数
- 17. セッション変数
- 18. PHP - セッション変数
- 19. PHP - セッション変数のパフォーマンス(セッション変数と読み取りファイル)
- 20. asp mvcセッション変数
- 21. セッション変数 - mysqli_query result
- 22. セッション変数とマスターページ
- 23. セッション変数とデータベース
- 24. セッション変数は、PHP
- 25. PHPセッション変数Session_name
- 26. セッション変数のリンクボタンの可視性asp c#repeater
- 27. C#デスクトップアプリケーション:フォームデータからPDFファイルへの変換
- 28. ASP.NET C#Global_asaxのApplication_Errorはセッション変数にアクセスできない
- 29. クラスからハンドラーへのAsp.NET C#セッション変数
- 30. MySQLクエリのセッション変数
[Windowsフォームアプリケーション内で自動ログアウトする方法]の –
の複製が可能な単純なタイマーを使用できます(http://stackoverflow.com/questions/4603374/how-to-auto-logout- window-forms-application内) – Gabe