Sự khác biệt giữa việc hủy một phiên và xóa các giá trị của nó là gì? Bạn có thể vui lòng cung cấp một ví dụ chứng minh điều này?
Tôi đã tìm kiếm câu hỏi này, nhưng không nắm được câu trả lời tổng thể. Một số câu trả lời là:
Session.Abandon()
phá hủy phiênSession.Clear()
chỉ xóa tất cả các giá trị
Một người bạn đã nói với tôi điều này:
Việc xóa phiên sẽ không hủy đặt phiên, phiên đó vẫn tồn tại với cùng một ID cho người dùng nhưng với các giá trị được xóa đơn giản.
Việc hủy bỏ sẽ hủy phiên hoàn toàn, có nghĩa là bạn cần bắt đầu phiên mới trước khi có thể lưu trữ thêm bất kỳ giá trị nào trong phiên cho người dùng đó.
Đoạn mã dưới đây hoạt động và không có bất kỳ ngoại lệ nào.
Session.Abandon();
Session["tempKey1"] = "tempValue1";
Khi bạn Bỏ qua () một Phiên, bạn (hay đúng hơn là người dùng) sẽ nhận được SessionId mới
Khi tôi kiểm tra Phiên, nó không tạo ra bất kỳ thay đổi nào khi tôi Bỏ qua phiên.
Tôi chỉ tìm thấy một điểm khác biệt:
session.Abandon()
tăng Session_End
sự kiện