Я создал корзину покупок, в которой используется состояние сеанса, чтобы сохранить данные корзины покупок, когда пользователь просматривает хранилище.
У меня проблема: если я выйду из окна браузера в течение длительного времени на шаге 1 корзины покупок, затем нажмите "перейти к шагу 2", мои действия вызывают ошибку, потому что действие step2 предполагает, что сеанс не истек, и объект ShopCart находится в правильном состоянии.
Я хотел бы, чтобы этот сценарий был более приятным для моих пользователей, но я думаю, что мне нужно как-то определить, закончился ли сеанс, чтобы при следующем запросе я мог отправить их на Step1.
Я нашел следующий код, который утверждает, что разрешает проблему, но это не работает для меня.
Условие IsNewSession истинно, но условие
if ((null != sessionCookie) && (sessionCookie.IndexOf("ASP.NET_SessionId") >= 0)) {
// handle expired session
}
всегда возвращает false и никогда не обрабатывает недействительный сеанс. Я в замешательстве.
Возможно ли это в ASP.NET(и MVC)?