色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

asp.net(c#)有關 Session 操作的幾個誤區

1. this.Session["username"] = null 
HttpSessionState 內部使用 NameObjectCollection 類型的集合對象來存儲用戶數據。因此使用 this.Session["username"] = null 僅僅是將該元素的值設為 null 而已,并沒有真的將其從 Session 中移除。(為什么?暈~~~ 建議看看 C# 基礎方面的書。) 

正確的方法是:this.Session.Remove("username"); 
刪除全部數據:this.Session.RemoveAll(); 或 this.Session.Clear(); 

2. this.Session.Abandon() 
該方法會導致當前 Session 被取消,系統會觸發 Global.asax 中的 Session_End 事件(僅限于 Mode = InProc 時)。 
盡管再次發出請求時 SessionID (可能)沒有發生變化,但是你會發現 Global.asax Session_Start 事件被觸發。你還可以使用 this.Session.IsNewSession 屬性來判斷當前 Session 是否重新創建的。 

由于某些組件和控件可能要使用 Session 信息(如使用 this.Session.SyncRoot 進行同步),因此不要輕易使用該方法清理 Session。 

3. 用戶身份驗證 
不要使用 this.Session["username"] = "ZhangSan" 、if (this.Session["username"] != null) 這樣的方式進行用戶身份驗證,這種方式既不安全也不合理。有關身份驗證請參考 MSDN 文檔或雨痕寫的相關文章。

AspNet技術asp.net(c#)有關 Session 操作的幾個誤區,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 龙江县| 寻乌县| 滨海县| 杨浦区| 松溪县| 开化县| 宜宾市| 前郭尔| 云阳县| 根河市| 大悟县| 进贤县| 玛多县| 旬邑县| 修水县| 城固县| 光泽县| 临泉县| 宾川县| 上虞市| 克山县| 柘城县| 舞钢市| 邓州市| 铜鼓县| 榆社县| 平顺县| 嘉峪关市| 大兴区| 奉节县| 永安市| 札达县| 桦川县| 德江县| 台东市| 浮梁县| 闽侯县| 平乐县| 田阳县| 双桥区| 边坝县|