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