Session_End будет запущен, если вы используете InProc.
Session_End будет запущен
1) через n минут бездействия (n = значение времени ожидания) или
2) если кто-то вызывает Session.Abandon ()
Session_End не срабатывает, если закрывать браузер.
Session_End требует установки состояния сеанса.
Если нужны исходные данные Request.Browser, их следует сохранить в состоянии сеанса.
Во время Session_End он имеет доступ к состоянию сеанса.