簡體   English   中英

web.config中的會話狀態

[英]Session state in web.config

我正在開發一個有3種用戶的Web應用程序。

為了避免多次登錄同一個用戶,我在表格中使用了一個登錄欄,登錄后會變為1,登出后會變為0。 我已經使用會話狀態來注銷用戶,如果他關閉瀏覽器窗口而不退出。

<system.web>       
  <sessionState mode="InProc" timeout="15" cookieName="student"/>

Global.asax:

void Session_End(object sender, EventArgs e) 
{
        int sid = Convert.ToInt32(Session["student"]);
        candidate.signoutUser(sid);
}

但是有三種用戶。 我無法添加多個sessionState 有沒有辦法解決這個問題?

為什么不將用戶類型添加到其會話狀態?

像這樣 :

Session["user"] = "Strudent_" + userId;

然后解析單個會話以查找Id和用戶類型:

var userType = Session["user"].ToString().split('_')[0];
var userId = Convert.ToInt32(Sessionp["user"].ToString().split('_')[1];)

但我建議使用會話狀態:

  • 一個用於userId
  • 一個用於userType

如果您不想使用多個會話狀態,也可以使用userId從數據庫查詢用戶類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM