ASP.NET で、アプリケーションを離れたユーザーを監査する方法を探しています。具体的には、ユーザーのセッションが何らかの理由で放棄/破棄されたときに、SQL Server の監査テーブルに「ログアウト」レコードを挿入したいと思います (必ずしも session.abandon の呼び出しのためではありません)。
セッションセッター/ゲッターを管理する「SessionHelper」クラスがあります。
Global.asax の Session_End にポストバックしようとしましたが、タイムアウトになった後でもこのイベントが発生しませんでした。
SessionHelper クラスで「ファイナライズ」をオーバーライドして、クラスが破棄されたときにそこで実行しようとしましたが、そのイベントも発生しませんでした。
SessionHelper に IDisposable を実装してみますが、いつでも呼び出されるように呼び出す場所がわかりません。
ASP.NET アプリケーションを離れるユーザーを監査する適切な方法は何ですか?
ありがとうございました!