ความแตกต่างระหว่างเซสชันและ ViewState ความแตกต่างระหว่างเซสชัน

Anonim

เซสชันหรือ ViewState

ข้อมูลใน ViewState ถูกเก็บไว้สำหรับไคลเอ็นต์เป็นค่าที่เข้ารหัสในเขตข้อมูลที่ซ่อนอยู่ของเบราเซอร์เท่านั้น ข้อมูลนี้ทำให้ข้อมูลไม่มีหลักประกันและอาจถูกแฮ็ก ระหว่าง Postbacks ViewState ติดตามการเปลี่ยนแปลงในเว็บไซต์โดยเฉพาะ

ในขณะเดียวกันเซสชั่นใช้กันอย่างแพร่หลายสำหรับเว็บเพจและส่งผลกระทบต่อไม่เพียง แต่หน้าเว็บเท่านั้น แต่ยังรวมถึงแอ็พพลิเคชันทั้งหมดและระยะเวลาทั้งหมดของผู้ใช้โดยใช้เบราเซอร์หรือเพจนั้น ๆ เซสชันสามารถใช้งานได้กับวัตถุทุกชนิดและเก็บไว้ในหน่วยความจำเซิร์ฟเวอร์ของเบราเซอร์ ข้อมูลที่เก็บรักษาไว้คือข้อมูลของผู้ใช้คอมพิวเตอร์หรือพูดอีกนัยหนึ่งคือข้อมูลเฉพาะของผู้ใช้ ข้อมูลจะพร้อมใช้งานจนกว่าผู้ใช้จะปิดแอปพลิเคชันเบราว์เซอร์หรือเซสชันหมดอายุด้วยตนเอง

ไม่เหมือนใน ViewState ข้อมูลในเซสชันสามารถเข้าถึงหรือทำซ้ำในหน้าต่างหรือหน้าอื่นภายในเซสชันได้ เซสชันยังไม่มีความสามารถในการปิดใช้งานหรือเปิดใช้การควบคุมเฉพาะ เซสชั่นยังเกี่ยวข้องกับชนิดของข้อมูลที่จะเก็บไว้ในหน่วยความจำของตน เซสชันยังมีหน่วยความจำที่ใหญ่กว่าเมื่อเทียบกับ ViewState เนื่องจากใช้หน่วยความจำเซิร์ฟเวอร์ ข้อเสียของเซสชันนี้คือเซสชันมีเวลาหมดอายุและปริมาณข้อมูลที่เก็บไว้ในหน่วยความจำเซิร์ฟเวอร์จะส่งผลต่อเวลาในการโหลดเซิร์ฟเวอร์

สรุป:

1. นอกเหนือจาก ViewState และเซสชัน ASP อื่น ๆ โซลูชัน NET ประกอบด้วยตัวแปรแอ็พพลิเคชันแคชและคุกกี้ 2. ViewState และเซสชั่นสามารถรันและเข้าถึงได้ในสภาพแวดล้อมเซิร์ฟเวอร์

3 ViewState ใช้ในฝั่งไคลเอ็นต์ขณะที่ใช้เซสชันทางฝั่งเซิร์ฟเวอร์ การที่ฝั่งไคลเอ็นต์ทำให้ ViewState ไม่มีวันหมดอายุ ฝั่งตรงข้าม (มีการหมดอายุและอยู่ด้านเซิร์ฟเวอร์) สำหรับเซสชัน

4 ViewState สามารถเก็บข้อมูลสตริงหรือ serializable ได้เท่านั้นในขณะที่เซสชันสามารถเก็บข้อมูลประเภทต่างๆได้มากมาย ซึ่งทำให้จำนวนข้อมูลใน ViewState มีขนาดเล็กลงเมื่อเทียบกับเซสชัน

5 เซสชันสามารถทำซ้ำหรือเข้าถึงข้อมูลไปยังหน้าเว็บหรือหน้าต่างใหม่ขณะที่ ViewState ไม่สามารถใช้คุณลักษณะนี้ได้

6 เซสชันเก็บข้อมูลในหน่วยความจำของเซิร์ฟเวอร์ในขณะที่ ViewState ซ่อนข้อมูลในช่องที่ซ่อนอยู่ของเบราว์เซอร์เป็นข้อมูลที่เข้ารหัสลับ 7. เนื่องจากหน่วยความจำเซิร์ฟเวอร์มีข้อมูลประเภทต่างๆปริมาณข้อมูลที่เก็บไว้จำนวนมากจะส่งผลต่อภาระของเซิร์ฟเวอร์