国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:22:50
字體:
來源:轉載
供稿:網友
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 文檔或雨痕寫的相關文章。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 射洪县| 额敏县| 肃南| 布尔津县| 桂东县| 沅陵县| 乌拉特前旗| 扎赉特旗| 敖汉旗| 沙田区| 北宁市| 邵武市| 石棉县| 北票市| 龙泉市| 长垣县| 百色市| 报价| 广州市| 辉南县| 商丘市| 安化县| 雷州市| 河东区| 娱乐| 会理县| 宣恩县| 黔西| 扎鲁特旗| 亚东县| 克拉玛依市| 永康市| 当涂县| 合水县| 静海县| 临汾市| 清涧县| 新津县| 华坪县| 定州市| 苏尼特右旗|