编程语言
首页 > 编程语言> > c#-web.config中的会话状态

c#-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从数据库中查询用户类型.

标签:web-config,asp-net,c
来源: https://codeday.me/bug/20191102/1993880.html