อะไรคือความแตกต่างระหว่าง SessionState และ ViewState ใน ASP.NET?
อะไรคือความแตกต่างระหว่าง SessionState และ ViewState ใน ASP.NET?
คำตอบ:
สถานะเซสชันมีข้อมูลที่เกี่ยวข้องกับเซสชันเฉพาะ (โดยไคลเอนต์ / เบราว์เซอร์ / เครื่องเฉพาะ) กับเซิร์ฟเวอร์ เป็นวิธีติดตามสิ่งที่ผู้ใช้กำลังทำบนไซต์ .. ในหลาย ๆ หน้า ... ท่ามกลางความไร้รัฐของเว็บ เช่นเนื้อหาในตะกร้าสินค้าของผู้ใช้เป็นข้อมูลเซสชัน สามารถใช้คุกกี้สำหรับสถานะเซสชันได้ ในทางกลับกัน
View Stateเป็นข้อมูลเฉพาะสำหรับหน้าเว็บเฉพาะ จะถูกเก็บไว้ในช่องที่ซ่อนไว้เพื่อให้ผู้ใช้มองไม่เห็น มันถูกใช้เพื่อรักษาภาพลวงตาของผู้ใช้ว่าเพจจะจดจำสิ่งที่เขาทำในครั้งสุดท้าย - อย่าให้หน้าที่สะอาดทุกครั้งที่เขาโพสต์กลับ ตรวจสอบหน้านี้มานาน
สถานะเซสชันถูกบันทึกบนเซิร์ฟเวอร์ ViewState จะถูกบันทึกไว้ในเพจ
โดยปกติสถานะเซสชันจะถูกล้างหลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่งจากผู้ใช้ (ไม่มีการร้องขอใด ๆ ที่มีรหัสเซสชันในคุกกี้คำขอ)
สถานะการดูถูกโพสต์ในโพสต์ที่ตามมาในฟิลด์ที่ซ่อนอยู่
sessionState
ViewState
การใช้งาน: หากคุณต้องการจัดเก็บข้อมูลที่ต้องการเข้าถึงบนหน้าเว็บต่างๆคุณสามารถใช้ SessionState
หากคุณต้องการจัดเก็บข้อมูลที่คุณต้องการเข้าถึงจากเพจเดียวกันคุณสามารถใช้ Viewstate
ที่เก็บข้อมูล Viewstate ถูกจัดเก็บไว้ในเพจนั้นเอง (ในข้อความที่เข้ารหัส) ในขณะที่ Sessionstate ถูกเก็บไว้ในเซิร์ฟเวอร์
SessionState จะล้างในเงื่อนไขต่อไปนี้
เซสชันส่วนใหญ่ใช้ในการจัดเก็บข้อมูลเฉพาะของผู้ใช้ [ข้อมูลเฉพาะเซสชัน] ในกรณีของเซสชันคุณสามารถใช้ค่าสำหรับทั้งเซสชันได้จนกว่าเซสชันจะหมดอายุหรือผู้ใช้ละทิ้งเซสชัน Viewstate คือประเภทของข้อมูลที่มีขอบเขตเฉพาะในหน้าที่ใช้ข้อมูลนั้น คุณสามารถมีค่าวิวสเตทที่เข้าถึงได้ในหน้าอื่น ๆ เว้นแต่คุณจะโอนค่าเหล่านั้นไปยังหน้าที่ต้องการ นอกจากนี้ในกรณีของ viewstate ข้อมูลการควบคุมฝั่งเซิร์ฟเวอร์ทั้งหมดจะถูกโอนไปยังเซิร์ฟเวอร์เป็นคู่ค่าคีย์ใน __Viewstate และถ่ายโอนกลับและแสดงผลไปยังตัวควบคุมที่เหมาะสมในไคลเอนต์เมื่อเกิดการโพสต์แบ็ค