读书人

公布到服务器里的SESSION老是丢失

发布时间: 2013-09-09 20:31:09 作者: rapoo

发布到服务器里的SESSION老是丢失

我登录后台时,进行信息的修改,但是进行编辑的时候,点击保存时它就告诉我,请登录,估计是SESSION为空了,
但是我在登录的页面中,验证通过后设置了它的过期时间为20分钟
我在每个页面中的加的语句是

protected void Page_Load(object sender, EventArgs e)
{

if (Session[""] == null)
{
//弹出消息框,请登录公布到服务器里的SESSION老是丢失
}
else
{
if (!IsPostBack)
{
//加载信息或其它
}
}

}

[解决办法]
我不推荐用session来控制,占用服务器资源。
refer: http://blog.csdn.net/agaric717/article/details/6531385
[解决办法]
你可以将Session["user"]保存在模板页的类的成员变量中,然后所有页面都继承模板页,在子页面中用成员变量名就可以了,这样非常方便。
[解决办法]
最好的做法是不用session用cookie自己实现

其次的话可以考虑存到sql server或者用memcached
[解决办法]

引用:
[b]
我登录后台时,进行信息的修改,但是进行编辑的时候,点击保存时它就告诉我,请登录,估计是SESSION为空了,
但是我在登录的页面中,验证通过后设置了它的过期时间为20分钟

过期时间是20分钟又怎么了呢?

我们通常讨论在InProc模式下asp.net会丢失Session集合等等数据,而不是过期。
[解决办法]
我曾遇到和你一样的问题,你应该用的是默认InProc 模式,这种模式很容易丢失session信息,让人大为光火,后来改用StateServer模式,这世界马上又那么美好了

参见 http://blog.csdn.net/cityhunter172/article/details/727743
[解决办法]
“丢失”而不是“过期”。

许多人在这个问题上都是在不断重复“过期时间20分钟”,那是很无厘头的(貌似相关但是其实无关的)。


[解决办法]
stateserver正解.. 在asp.net_state服务中

如果没意外 是不会发生过期 的情况的
[解决办法]
嗯,应该是丢失了

读书人网 >asp.net

热点推荐