..


ลิงก์ผู้สนับสนุน

ผู้จัดการสถานะของเซสชัน

การพัฒนาและการใช้งานของโปรแกรมเว็บต้องตรวจสอบของรัฐเดียวกันทุกครั้ง หนึ่งในประเทศที่สำคัญที่สุดคือการเชื่อมโยงกับระยะเวลา (ภาครัฐ) และ ASP.NET ยังมีการสนับสนุนที่ดีสำหรับการบริหารจัดการ

ณ จุดนี้คู่มือที่ควรจะชัดเจนว่าในการเขียนโปรแกรมการใช้งานเว็บพัฒนาบริการผู้ใช้หลายคนกระจายทั่วพื้นที่ขนาดใหญ่อยู่บนพื้นฐานของการเชื่อมต่อ Protocol (HTTP)

เมื่อภาครัฐมีการเปิดใช้สำหรับแต่ละคำขอ, ASP.NET สร้างวัตถุ Session ใหม่ซึ่งเป็นส่วนหนึ่งของบริบทและสามารถเข้าถึงได้ผ่านหน้า ในวัตถุนี้จะมีการกำหนดตัวระบุและจะกลายเป็นภาชนะที่มีประโยชน์ของข้อมูลที่มีระยะเวลามากกว่าหน้ามันหมายถึง

วัตถุ Session จะเป็นพจนานุกรมของชื่อ / คู่ค่าและผ่านมันคุณสามารถผูกวัตถ​​ุใด ๆ ที่สำคัญเพื่อให้คุณสามารถเข้าถึงได้เมื่อจำเป็นใช้คีย์ของตัวเอง

ตัวอย่างเช่นถ้าเราต้องการที่จะเก็บข้อมูลเกี่ยวกับผู้ใช้ในวัตถุเซสชั่นบางส่วนที่ควรจะเขียนสิ่งที่ชอบ






 เป็นโมฆะ StoreInfoInSession ()







 {

 

  



 String = TextBox1.Text strInputUtente;

 

  



 session ["strInputUtente"] = strInputUtente;







 }



และขอตามมาถ้าเราต้องการจะเรียกค่านี้เราควรจะเขียน





 เป็นโมฆะ GetInfoFromSession ()







 {

 

  



 StrInputUtente String น = ["strInputUtente"];

 

  



 strInputUtente TextBox1.Text =;







 }



ผู้จัดการสถานะของเซสชันใน ASP.NET มีความสะดวกมากโดยเฉพาะอย่างยิ่งเพราะเทคโนโลยีในประเภทของวัตถุนี้สามารถอยู่ในสถานที่ที่แตกต่างกันในกระบวนการปัจจุบันถูกแยกออกมาบนเซิร์ฟเวอร์ฐานข้อมูล SQL Server

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

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

นอกจากนี้ยังแทรกกล่องข้อความถัดจากป้ายกำกับเพื่อแสดงข้อมูลที่จะติดต่อกลับภายหลัง การแทรกตัวแปรของสตริงชนิดในหน้าของเราและใน Page_Load ตั้งค่าของสตริงนี้ในกล่องข้อความของเรา






 สตริง sessionString;









 การป้องกันถือเป็นโมฆะ Page_Load (ผู้ส่งวัตถุ, EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;







 }



ดับเบิลคลิกที่ปุ่มคลิกที่สร้างร้านค้าเหตุการณ์ที่อยู่ภายในที่สอดคล้องกันและใส่รหัสที่ดึงเชือกที่มีอยู่ในกล่องข้อความและเก็บไว้ในตัวแปร sessionString การตั้งค่าด้านฉลากที่มีข้อความเดียวกัน





 เป็นโมฆะ MemorizzaBtn_Click ป้องกัน (ผู้ส่งวัตถุ, EventArgs e -)







 {



  



 this.sessionString = this.TextBox1.Text;



  



 this.Label1.Text = this.sessionString;







 }



เราเริ่มต้นการสมัครและเขียนสิ่งที่อยู่ในกล่องข้อความและคลิกที่บันทึก เราควรจะเห็นสิ่งที่ต้องการ

ถ้าเราคลิกที่ปุ่มดูป้ายชื่อที่จะใช้กับค่าของสตริงที่ว่างเปล่าเป็นตัวแปรที่เป็น instantiated sessionString อีกครั้ง (เพราะหน้านั้นมีการสร้างอีกครั้ง) นี้เป็นเพราะเราตั้งค่าใน Page_Load ข้อความคุณสมบัติของป้ายชื่อที่ถูกกำหนดเป็นค่าของ sessinString ตัวแปรที่ ที่เราได้กล่าวถึงหลายครั้งในความเป็นจริงหน้าเว็บที่เป็นวัตถุมากสั้นอายุการใช้งานของการร้องขอและจากนั้นจะถูกทำลายโดยข้อมูลทั้งหมดในพวกเขา ดังนั้นถ้าเป้าหมายคือการเก็บข้อมูลบางอย่างที่เกินกว่าระยะเวลาของหน้าทันทีที่วิธีการที่ไม่ดี

การใช้งานของภาครัฐเป็นวิธีที่จะแก้ปัญหานี้ ที่ดีกว่าการอธิบายแนวคิดเราเพิ่มป้ายที่สองที่แบบฟอร์มบนเว็บของเราและตั้งค่าเป็นที่นำเสนออยู่แล้ว

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






 เป็นโมฆะ MemorizzaBtn_Click ป้องกัน (ผู้ส่งวัตถุ, EventArgs e -)







 {



  



 / ร้านค้า / ค่าในตัวแปรท้องถิ่น



  



 this.sessionString = this.TextBox1.Text;





  



 / ร้านค้า / ค่าในช่วงที่



  



 this.Session ["sessionString"] = this.TextBox1.Text;





  



 / / แสดงค่าของตัวแปร



  



 this.Label1.Text = this.sessionString;





  



 / / แสดงค่าของเซสชัน



  



 this.Label2.Text = this.Session (สตริง) ["sessionString"];







 }



นอกจากนี้ยังมีการปรับเปลี่ยนการ Page_Load เหตุการณ์เพื่อให้ชุดที่สองสตริงฉลากที่ดึงมาจากเซสชัน





 การป้องกันถือเป็นโมฆะ Page_Load (ผู้ส่งวัตถุ, EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;



  



 this.Label2.Text = this.Session (สตริง) ["sessionString"];







 }



เราเริ่มต้นการใช้งานในขณะนี้และเขียนสิ่งที่อีกครั้งในกล่องข้อความแล้วคลิกที่ปุ่มบันทึก เราควรจะเห็นสิ่งที่ต้องการ

ถ้าคุณตอนนี้คลิกที่แสดงจะเห็นว่าพารามิเตอร์ตัวแรกจะถูกตั้งค่าสตริงที่ว่างเปล่าในขณะที่หลังจะรักษาค่า

ในขณะที่ค่าของตัวแปรท้องถิ่นที่จะสูญหายไปเนื่องจากหน้านั้นมีการสร้าง, ค่าที่เก็บไว้ในวัตถุ Session ยังคงอยู่และสามารถปรึกษา

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

ความช่วยเหลือเกี่ยวกับ Visual Studio ASP.Net
E - Learning
ASP (Advanced) ASP (Advanced)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 39 €
ASP.NET (หลักสูตร) ASP.NET (หลักสูตร)
หลักสูตรเต็มสำหรับสร้างเว็บแอพพลิเคชันจาก 49 €
SQL และฐานข้อมูล (หลักสูตร) SQL และฐานข้อมูล (หลักสูตร)
การสร้างและจัดการฐานข้อมูลเชิงสัมพันธ์ จาก 39 €
ลิงก์ผู้สนับสนุน