**:
**開發中,為了儲存使用者的資訊,有時候需要使用session。如果我們在aspx頁面中使用session,只需要session["key"]=value就可以,獲取時使用int userid=session["userid"],但是在賦值時,我們可能需要判斷session是否為空,是否能轉換成int型別。如果只在一處使用session,那麼我們可以直接在aspx頁面中操作,修改也只需修改一處。
但在操作session時,可能會在多個頁面,如果修改session,可能需要修改多個頁面,這樣會非常的繁瑣。解決的辦法主要有兩個,乙個是基類頁面,新增乙個基類頁面,頁面繼承自system.web.ui.page,在基類頁面中處理session。其它的涉及session操作的繼承自基類頁面。二是使用類,如果在asp.net專案中使用類,只需要引用
usingsystem.web;
using
system.web.sessionstate;
//然後定義
就可以通過_session操作session了。
本文主要介紹第二種方式,而且是使用類庫操作session的方法。
1.新建乙個類庫
2.新增引用,解決方案資源管理器中,右鍵「引用」-》「新增引用」-》.net-》選擇「system.web」-》點選「確定」
3.新增乙個類,在類中引用
usingsystem.web;
using system.web.sessionstate;
4.操作session,主要涉及新增,獲取,清除。其它的如修改、刪除也可新增。主要**如下:
注釋:session有效時間預設為20分鐘,內容來自中國站長資訊網(www.chinahtml.com)這個時間是指,當使用者登入後,如果沒有任何動作,即不在web上有請求.將維持這個使用者的身份有效時間是20分鐘,如果這個使用者一直與web有請求操作,那麼,這個時間一直沒有算在20分鐘內,即,如果使用者登入後,即便操作乙個小時,那麼也不會出現超時,除非使用者與伺服器之間掉線。
session物件預設失效期為20分鐘,使用者也可以在web.config中對其進行設定。
**:
在類庫中使用Session
昨天在做優化 的時候,突發奇想想將頁面的 和業務邏輯 分離開。就是頁面下的.cs檔案只用於收集前台上的資料而業務處理都放到一些類庫中。可是問題來了,在類庫中是無法直接使用session。在網上搜了下有好多 其中很多是相同的 自己乙個個試了下很多都不可用,有些說的很言簡。結合網上各位大神說的,自己寫了...
c 類庫中使用Session
開發中,為了儲存使用者的資訊,有時候需要使用session。如果我們在aspx頁面中使用session,只需要session key value就可以,獲取時使用int userid session userid 但是在賦值時,我們可能需要判斷session是否為空,是否能轉換成int型別。如果只在...
c 類庫中使用Session
開發中,為了儲存使用者的資訊,有時候需要使用session。如果我們在aspx頁面中使用session,只需要session key value就可以,獲取時使用int userid session userid 但是在賦值時,我們可能需要判斷session是否為空,是否能轉換成int型別。如果只在...