Я хочу уничтожить все сеансы за один раз. Я пробовал метод Session.Abondon()
, но я не знаю, почему это не уничтожает все сеансы.
Как уничтожить все сеансы в одно время в asp.net?
Ответ 1
Вы не можете уничтожить все сеансы, вы можете очистить текущий сеанс. Вероятно, вам придется переработать пул приложений, чтобы очистить все сеансы.
Используйте HttpSessionState.Clear
для очистки текущего сеанса
Из MSDN - метод HttpSessionState.Clear
Удаляет все ключи и значения из коллекции состояний сеанса.
Назовите его так:
Session.Clear();
Ответ 2
Я хочу уничтожить все сеансы за один раз
Я уверен, что вы не можете этого сделать, не дожидаясь повторного использования приложения.
В настоящее время принятый ответ предполагает использование Session.Clear
, но это только очищает текущий сеанс - это то же самое, что и Session.RemoveAll
.
Почему существуют два метода Clear
и RemoveAll
, которые делают то же самое? Я подозреваю, что RemoveAll
предоставляется для обратной совместимости с объектом ASP классического сеанса, а Clear
- это более обычное имя метода для очистки элементов из .NET Collection.
Ответ 3
Существует три метода, которые могут удалить сеанс Переменные
Session.Clear()
Session.RemoveAll()
Session.Abandon()
Clear()
и RemoveAll()
выполняют одно и то же: удалите переменные сеанса
но сохранить текущий сеанс в памяти. Принимая во внимание, что Abandon()
завершает текущий
сессии.
Ответ 4
попробовать:
Session.Contents.RemoveAll()
Ответ 5
Используйте Session.Clear() или Session.RemoveAll() Метод
Session.Clear()
or
Session.RemoveAll()
Ответ 6
Вы должны использовать
this.Page.Session.Clear();
Abandon предназначен только для текущего сеанса.