Rahul Newara Ответов: 1

Как уничтожить сеанс в MVC 5


Здравствуйте, Сэр/Мама,

Я работаю над приложением и пытаюсь уничтожить сеанс после заданной продолжительности времени, а также пытаюсь уничтожить сеанс при закрытии браузера.

Пожалуйста, помогите мне, если это возможно.

Спасибо и с уважением
Рахул

Что я уже пробовал:

Я пытаюсь уничтожить сеанс после заданной продолжительности времени, а также пытаюсь уничтожить сеанс при закрытии браузера.

1 Ответов

Рейтинг:
1

F-ES Sitecore

Вы не можете уничтожить сеанс, когда браузер закрывается, поскольку интернет не имеет состояния, он не знает, открыт браузер или нет, и никакие события, которые вы можете использовать, не возникают, когда браузер закрыт. Если вы гуглили этот невероятно часто задаваемый вопрос, вы могли бы легко узнать это сами.

Что касается уничтожения его через некоторое время, то он все равно делает это на скользящем выдохе. Если вы хотите уменьшить время сеанса arive, то вы можете изменить тайм-аут по умолчанию в файле web.config, опять же google для уточнения деталей.

Если вы хотите, чтобы он был уничтожен через абсолютное количество времени, вам нужно будет закодировать его самостоятельно. При запуске сеанса сохраните дату и время его запуска в переменной сеанса

Session["Started"] = DateTime.Now


затем вы можете написать глобальный фильтр действий, который проверяет разницу между началом сеанса и текущим временем и, если он прошел пороговое значение, чтобы отказаться от сеанса. Google для того, чтобы реализовать глобальный фильтр действий для специфики.