背景: 私はいくつかのフォームなどでアプリケーションを書いています。ユーザーはほとんどの機能を使用するためにログインする必要があり、これまではうまくいきました。しかし、今や、クライアントは、ある一定量の非アクティブ時間の後にユーザがログアウトするように要求しています。問題は、ユーザーは自分のアプリケーションではなく、コンピュータ上でアクティブにできることです。明らかにするには、彼がまだデスクトップとやりとりしていても、彼が自分のアプリケーションで活動していないときにユーザーをログアウトさせる必要があります。C#ユーザーが活動していなかった期間
まず、これはかなり簡単だと思いました。最後のアクションの時間を覚えておいて、タイマーで現在の時間と連続的に比較し、経過した時間が許容時間より長い場合はユーザーをログアウトします。しかし、私は私はすべてのOnChange、クリック時など、イベントに
Program.LastActionTime = DateTime.Now;
のようなペースト状のものをコピーすることができもちろん
...最後のアクションの時間を見つけることはそう単純ではないかもしれないことを認識しています...しかし、これはアプリケーションのサイズのために大量の作業になるだけでなく、非常に悪い習慣であり、少なくとも1回は忘れてしまい、すべてのものが信頼できないと確信しています(そして壊れているように見えますが、このバグはほとんど再生できません!)
これは良い方法ですか?
これはまさに私が探していたものです! –
これはその半分ですが、プログラムがアイドル状態になっていないことを教えてくれるのは何ですか? –