すべてのユーザーのログオンとログオフをログに記録し、サーバー上のテーブルに保存するために、C#でWindowsサービスを作成しました。
while
条件付きのループを使用しtrue
、このループでシステムの現在のユーザーを毎分チェックしているため、システムの電源を入れると、サービスは「開始」ステータスになります。
ここまではすべてうまくいきますが、問題はOnStop()
、システムをシャットダウンしたときにメソッドが呼び出されないことです。サービスの開始時のステータスに問題があることはわかっています。サービスのメソッドでwhile
ループにコメントを付けると、メソッドが正しく実行されるためです。OnStart()
OnStop()