อะไรคือความแตกต่างระหว่างการทำลายเซสชันและการลบค่า? คุณช่วยยกตัวอย่างที่แสดงให้เห็นได้ไหม
ฉันค้นหาคำถามนี้ แต่ไม่เข้าใจคำตอบทั้งหมด บางคำตอบคือ:
Session.Abandon()
ทำลายเซสชันSession.Clear()
เพียงแค่ลบค่าทั้งหมด
เพื่อนบอกฉันว่า:
การล้างเซสชันจะไม่เป็นการยกเลิกการตั้งค่าเซสชัน แต่ยังคงมีอยู่ด้วย ID เดียวกันสำหรับผู้ใช้ แต่ด้วยการล้างค่า
การละทิ้งจะทำลายเซสชันโดยสิ้นเชิงหมายความว่าคุณต้องเริ่มเซสชันใหม่ก่อนจึงจะสามารถเก็บค่าในเซสชันสำหรับผู้ใช้นั้นได้อีก
โค้ดด้านล่างนี้ใช้งานได้และไม่มีข้อยกเว้นใด ๆ
Session.Abandon();
Session["tempKey1"] = "tempValue1";
เมื่อคุณละทิ้ง () เซสชันคุณ (หรือผู้ใช้) จะได้รับ SessionId ใหม่
เมื่อฉันทดสอบเซสชันจะไม่มีการเปลี่ยนแปลงใด ๆ เมื่อฉันละทิ้งเซสชัน
ฉันพบความแตกต่างอย่างหนึ่ง:
session.Abandon()
ทำให้เกิดSession_End
เหตุการณ์