今天突然发现,每次请求时SessionID都会改变,即使同一个页面刷新一下也会改变,这跟session的原理不符。
查阅相关资料后才明白,新版的ASP.NET,如果页面在没有使用session的情况下,不会写Session的SessionID到客户端的cookie,默认情况下Session是根据cookie里的sessionid来保持的,如果没有写cookie,那每次刷新页面它就认为是新的session了,有两种解决方法:
- 在页面里使用session,如:
Session["uid"] = 5; - 在应用里添加Global.asax,并在里面加入:
空的就可以了。
protected void Session_Start(object sender, EventArgs e)
{
}
这样session就不会每次都是新的了。