Самое близкое, на что вы можете прийти, не создавая слишком грязного решения, - это включить сеансы ASP. Это создаст сеанс на сервере для каждого посетителя, который будет идентифицирован cookie-файлом.
После определенного периода бездействия посетителя сеанс будет закрыт, а событие SessionEnd будет инициировано. Это можно подключить в файле Global.asax.
Однако я не буду рекомендовать это, потому что HTTP это pr. Определение протокола без сессий, и использование сеансов на основе сервера нарушает этот факт и часто проблематично. Многие решения, использующие серверные сеансы, сталкиваются с проблемами, когда пользователь использует кнопку возврата в браузере и повторно отправляет форму. Поскольку содержимое отправленной формы больше не соответствует данным, существующим в сеансе сервера.
Кроме того, включение серверных сеансов серьезно ухудшает масштабируемость приложения.