Из того, что я тестировал:
Session.Abandon(); // Does nothing
Session.Clear(); // Removes the data contained in the session
Example:
001: Session["test"] = "test";
002: Session.Abandon();
003: Print(Session["test"]); // Outputs: "test"
Session.Abandon только устанавливает логический флаг в объекте сеанса в значение true.Вызывающий веб-сервер может реагировать на это или нет, но есть немедленное действие NO , вызванное ASP.(Я сам проверил это с помощью .net-Reflector)
Фактически, вы можете продолжить работу со старым сеансом, нажав один раз кнопку браузера в браузере, и продолжить просмотр веб-сайта в обычном режиме.
Итак, чтобы сделать вывод: используйте Session.Clear () и сохраните разочарование.
Примечание: я проверял это поведение на сервере разработки ASP.net.Фактический IIS может вести себя по-другому.