Global.asax中的代码
Model.User user = new Model.User();
void Session_Start(object sender, EventArgs e)
{
user = Session["User"] as Model.User;
}
void Session_End(object sender, EventArgs e)
{
BLL.UserBLL.User_Leave(user.UserId); //结束后运行
this.Session.Clear();
}
WEBCONFIG中设置
<sessionState mode="InProc" timeout="1" cookieless="false" stateConnectionString="tcpip=127.0.0.1:42424">
</sessionState>为什么他不走Session_End啊 我设置20分钟也不行
另外问下 Session的过期时间最小是20分钟吗?
Model.User user = new Model.User();
void Session_Start(object sender, EventArgs e)
{
user = Session["User"] as Model.User;
}
void Session_End(object sender, EventArgs e)
{
BLL.UserBLL.User_Leave(user.UserId); //结束后运行
this.Session.Clear();
}
WEBCONFIG中设置
<sessionState mode="InProc" timeout="1" cookieless="false" stateConnectionString="tcpip=127.0.0.1:42424">
</sessionState>为什么他不走Session_End啊 我设置20分钟也不行
另外问下 Session的过期时间最小是20分钟吗?
====
默认是20分钟,可以在web.config中自己手动设置timeout
随便在哪个页面中protected void Page_Load(object sender, EventArgs e)
{ this.Session["ss"] = "ss";
}把该页设为起始页,在session_end处打个断点,然后运行起来就等1分钟。就会看到运行了。
关闭IE是不执行Session_End事件的
修改session过期的默认时间
要等到超时才能执行Session_End