ฉันเห็นบนอินเทอร์เน็ตว่า Cache สามารถใช้เพื่อตรวจสอบว่าผู้ใช้เข้าสู่ระบบแล้วหรือไม่ ซึ่งดูเหมือนว่าจะค่อนข้างดี หลังจากการทดสอบ หลักการโค้ด
ที่ใช้ร่วมกันที่นี่ค่อนข้างง่าย:
ตรวจสอบว่าสตริงการเข้าสู่ระบบของลูกค้าที่ระบุมีอยู่แล้วในแคชหรือไม่ หากไม่มี ให้เพิ่มสตริงนั้นและระบุเวลาที่เก็บข้อมูลในแคช เมื่อเข้าสู่ระบบซ้ำๆ คุณสามารถระบุได้ว่าผู้ใช้เข้าสู่ระบบซ้ำๆ หรือไม่ โดยตัดสินว่าค่าแคชว่างเปล่าหรือไม่
//สร้างคีย์
สตริง sKey = TextBox1.Text + "_IsLogin";
//รับค่าของคีย์ที่กำหนดในแคช
string sUser = Convert.ToString(Cache[sKey]);
//ตรวจสอบว่ามีอยู่หรือไม่
ถ้า (sUser == null || sUser == String.Empty)
-
//ไม่มีรายการสำหรับคีย์นี้ในแคช ซึ่งบ่งชี้ว่าผู้ใช้ไม่ได้เข้าสู่ระบบ หรือการเข้าสู่ระบบหมดเวลา
//TimeSpan แสดงถึงช่วงเวลาและรับค่าการตั้งค่าของระบบสำหรับการหมดเวลาเซสชัน
//TimeSpan SessTimeOut = TimeSpan ใหม่ (0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
//(หากถือว่าเวลาที่อนุญาตให้ผู้ใช้เข้าสู่ระบบอีกครั้งน้อยกว่าการหมดเวลาเซสชัน ค่านี้สามารถตั้งค่าให้น้อยลงได้ ในตัวอย่างนี้ตั้งเป็นหนึ่งนาที)
ช่วงเวลา SessTimeOut = ช่วงเวลาใหม่ (0, 0, 1, 0, 0);
HttpContext.Current.Cache.Insert (sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
System.Web.Caching.CacheItemPriority.NotRemovable, null);
//หลังจากเข้าสู่ระบบครั้งแรก คุณสามารถทำงานที่ต้องการได้
Label1.Text = "สวัสดี! ยินดีต้อนรับ";
-
อื่น
-
//พบบันทึกของผู้ใช้ในแคช ชื่อตารางได้ถูกล็อกอินแล้ว ห้ามมิให้ล็อกอินอีกครั้ง
Label1.Text = "ขออภัย คุณเข้าสู่ระบบที่อื่นแล้ว หรือลองอีกครั้งใน 1 นาที";
กลับ;
}
http://www.cnblogs.com/heekui/archive/2006/12/14/591691.html