发布到服务器里的SESSION老是丢失
我登录后台时,进行信息的修改,但是进行编辑的时候,点击保存时它就告诉我,请登录,估计是SESSION为空了,
但是我在登录的页面中,验证通过后设置了它的过期时间为20分钟
我在每个页面中的加的语句是
protected void Page_Load(object sender, EventArgs e)
{
if (Session[""] == null)
{
//弹出消息框,请登录
}
else
{
if (!IsPostBack)
{
//加载信息或其它
}
}
}
------解决方案--------------------我不推荐用session来控制,占用服务器资源。
refer: http://blog.csdn.net/agaric717/article/details/6531385
------解决方案--------------------你可以将Session["user"]保存在模板页的类的成员变量中,然后所有页面都继承模板页,在子页面中用成员变量名就可以了,这样非常方便。
------解决方案--------------------最好的做法是不用session用cookie自己实现
其次的话可以考虑存到sql server或者用memcached
------解决方案--------------------
过期时间是20分钟又怎么了呢?
我们通常讨论在InProc模式下asp.net会丢失Session集合等等数据,而不是过期。
------解决方案--------------------我曾遇到和你一样的问题,你应该用的是默认InProc 模式,这种模式很容易丢失session信息,让人大为光火,后来改用StateServer模式,这世界马上又那么美好了
参见 http://blog.csdn.net/cityhunter172/article/details/727743
------解决方案--------------------“丢失”而不是“过期”。
许多人在这个问题上都是在不断重复“过期时间20分钟”,那是很无厘头的(貌似相关但是其实无关的)。