No asp.net, estou procurando uma maneira de auditar um usuário
deixando meu aplicativo. Para ser específico, gostaria de inserir
um registro de 'logout' em uma tabela de auditoria no SQL Server
quando a sessão do usuário for abandonada/destruída por qualquer
motivo (não necessariamente por causa de uma chamada para
session.abandon)
Eu tenho uma classe 'SessionHelper' que gerencia os
setters/getters de sessão.
Eu tentei postar de volta em Session_End no Global.asax, mas ele
nunca disparou esse evento mesmo depois que o tempo limite
expirou.
Eu tentei substituir 'finalize' na classe SessionHelper e
fazê-lo lá quando a classe é destruída, mas também não disparou
esse evento.
Eu tentaria implementar IDisposable no SessionHelper, mas não
sei onde chamá-lo para que ele sempre seja chamado.
Qual é a maneira correta de auditar um usuário deixando seu
aplicativo ASP.NET?
Obrigado!