Как вы уже знаете, что это веб-приложение, взаимодействие между вашим пользовательским агентом и сервером отключено, то есть веб-сервер или браузер не имеют информации о текущем состоянии пользователя, поэтому нет события, которое сообщит вам, что сессия истекла, хотя вы можете вычислить ее на основе значений тайм-аута сеанса и проверить, закончился ли сеанс или нет (или аналогичные вещь).
Итак, вы можете знать, что сессия истек, только когда запрос достиг вашего сервера и запрос обрабатывается.
Для решения вашей проблемы при истечении срока действия сеанса вы перенаправляете пользователя на страницу входа в систему, перед перенаправлением вы можете поместить текущий URL-адрес URL-адреса в качестве параметра и при успешном входе в систему, вы можете перенаправить пользователя на на предыдущей странице, прочитав его из строки запроса.
Вашего Логин URL будет выглядеть следующим образом https://myapp.com/Account/Login?returnUrl=%2FMyAccount
Здесь MyAccount последними посетили URL, где сеанс истек.
Такой же подход используется авторизацией MVC asp.net, вы можете взглянуть на нее, используя шаблон по умолчанию.
Если я жду окончания сеанса, я не смогу сделать запрос на сохранение данных. Чтобы восстановить данные, я буду проверять, зарегистрированы ли данные, если это так, я перенаправляю пользователя – Sabrin