В чем разница между уничтожением сеанса и удалением его значений? Не могли бы вы привести пример, демонстрирующий это?
Я искал этот вопрос, но не понял полного ответа. Вот некоторые ответы:
Session.Abandon()
разрушает сеансSession.Clear()
просто удаляет все значения
Друг сказал мне это:
Очистка сеанса не отменяет сеанс, он все еще существует с тем же идентификатором для пользователя, но с просто очищенными значениями.
Отказ полностью уничтожит сеанс, а это означает, что вам нужно начать новый сеанс, прежде чем вы сможете сохранить какие-либо другие значения в сеансе для этого пользователя.
Приведенный ниже код работает и не вызывает никаких исключений.
Session.Abandon();
Session["tempKey1"] = "tempValue1";
Когда вы Abandon () a Session, вы (или, скорее, пользователь) получите новый SessionId
Когда я тестирую сеанс, он не вносит никаких изменений, когда я прекращаю сеанс.
Я просто нахожу одно отличие:
session.Abandon()
вызывает Session_End
событие