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