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