พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

[asp.net] session, cookie, viewstate แตกต่างกันอย่างไรครับ

+2 votes
ถ้าผมจะออกแบบเว็ปให้มีการจำข้อมูลของหน้าเว็บหน้านั้นๆ ซึ่งภายในหน้าจะมีการเก็บ(จำ)ค่าต่างๆไว้เช่น TextLabel , DataTable เป็นต้น

cookie คือเก็บลงไฟล์ที่ฝั่ง client ใช่ไหมครับ ถ้างั้นก็น่าจะไม่ปลอดภัยไม่น่าใช้เพราะอาจมีการเปลี่ยนแปลงค่าได้ใช่ไหมครับ

ผมเคยลองใช้ session ดูแล้วพบว่าถ้า เปิดหน้าเว็ปอีกหน้าหนึ่งซึ่งเปิดจากเว็ปบราวเซอร์เดียวกันแล้วพบว่ามันจะมี session id เดียวกัน

ทำให้หน้าเว็ปทำงานพร้อมๆกันหลายๆหน้าแล้วมันไปเปลี่ยนแปลงตัวข้อมูลของหน้าเว็ปอื่นที่เรียกใช้ session ชื่อเดียวกันด้วยอ่ะครับ

และเหมือนเคยได้ยินมาว่า session จะคล้ายกับ viewstate แต่ทำงานได้เร็วกว่า viewstate ถูกต้องใช่ไหมครับ เพราะอะไรครับ?

สรุปผมควรเลือกใช้อะไรดีครับ
ถามเมื่อ May 28, 2012 in ASP.net โดย HuaNaa (455 คะแนน)
   

2 Answers

+1 vote
Cookies => เขียนเป็น file ลงใน browser เก็บได้แต่ text หายเมื่อหมดอายุ

Viewstate => เก็บไว้ใน server memory ใช้ได้เฉพาะ Page นั้น หายเมื่อหน้านั้นถูกปิด

Session => เก็บไว้ใน server memory ใช้ได้ทั้ง site หายเมื่อหมดอายุหรือสั่งทำลาย
ตอบเมื่อ May 30, 2012 โดย Kanel Notarry (210 คะแนน)
0 votes

Viewstate เก็บไว้ใน input ชื่อ __VIEWSTATE ใน form เวลาที่ submit form viewstate ก็ถูกส่งกลับมาที่ server ด้วย พอ server ส่ง html กลับไป viewstate ก็ถูกเขียนใส่ใน input ไปกับ form ด้วย ควรหลีกเลี่ยงครับ เพราะทำให้โหลดช้า (แค่ datetime picker อันเดียวของบางเจ้าก็ใช้ พื้นที่ร่วมๆ 3k แล้วครับ)

ตอบเมื่อ May 30, 2012 โดย Krurkrit Phoosakul (1,174 คะแนน)

Related questions

+1 vote
2 คำตอบ
+2 votes
1 คำตอบ
+2 votes
1 คำตอบ
0 votes
0 คำตอบ
...