Session.Clear ();這是否會清空 asp.net 上的所有會話?我可以洗掉特定的會話,例如Session["USER_ID"].Remove()? 或者session["USER_ID"].Clear ();
uj5u.com熱心網友回復:
Session.Clear (); 從會話狀態集合中洗掉所有鍵和值。
Session.Remove(); 洗掉會話狀態中的值
在 ASP.NET 中有很多方法可以使會話無效。session本質上是一個cookie,設定
在客戶端瀏覽器和 ASP.NET 中,它的名稱通常是
ASP.NET_SessionId. 所以,理論上,如果您洗掉該 cookie(就瀏覽器而言,這意味著您設定
它的到期日期是過去的某個日期,因為 cookie 不能被洗掉
開發人員),然后您在服務器中丟失會話。正如你所說的另一種方法是使用
Session.Clear()方法。但最好的方法是設定另一個不相關的物件(通常為空值)在會話中對應于一個鍵。例如,到
無效
Session["FirstName"],只需將其設定為Session["FirstName"] = null.
請參閱此鏈接 如何洗掉asp.net 中的特定會話?
此鏈接也可以幫助您 Session.Abandon() 和 Session.Clear() 之間有什么區別
uj5u.com熱心網友回復:
Session.Clear()如果您希望用戶保持在同一個會話中(防止他重新登錄)并且只重置他的所有會話特定資料,則可以使用它。原因是因為Session.Clear() 從會話狀態集合中洗掉所有鍵和值。它實際上從物件中洗掉了所有值。具有相同密鑰的會話仍然存在。
順便說一句,Session.Abandon() 洗掉存盤在會話中的所有物件。
因此,如果您使用 Session.Abandon(),您將丟失該特定會話并且用戶將獲得新的會話密鑰。例如,您可以在用戶注銷時使用它。
查看這篇文章了解更多資訊 - http://csharpexample.com/CsharpExampleSeeDetail.aspx?Did=78&CatID=29
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/395820.html
