Session丢失问题

tubo12382 2009-09-25 02:57:05
我做的一个考试系统,登录信息是用Session保存的,我在Web.config中设置Session的失效时间是 <sessionState timeout="600"/> 为什么过一会儿有的Session就为空了啊?
ps:我试了几个机子都是一样的,应该不是机子的问题!!在线等!!!
...全文
113 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
离子漂浮物 2009-09-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 tubo12382 的回复:]
我不知道web config具体怎么设的。。
  我一设出来就报错。。。
[/Quote]

web.config的配置可以直接用IIS管理器来设置。
位置是:
网站属性->asp.net->编辑配置->状态管理
会话状态模式:StateServer
关于链接字符串,一般来说默认就可以了的。
江南小鱼 2009-09-26
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090703/17/449b5542-ec1f-41e6-9067-218b6ffe59ab.html
这个帖子讲的很全面..
yymycabbage 2009-09-25
  • 打赏
  • 举报
回复
将服务器Session信息存储在进程外
  首先,让我们来打开管理工具->服务,找到名为:ASP.NET State Service的服务,启动它。实际上,这个服务就是启动一个要保存Session信息的进程。启动这个服务后,你可以从Windows任务管理器->进程中看到一个名为aspnet_state.exe的进程,这个就是我们保存Session信息的进程。
  然后,回到Web.config文件中上述的段落中,将mode的值改为StateServer。这时,如果我们重启IIS,我们会发现Session信息没有丢失。
  实际上,这种将Session信息存储在进程外的方式不光指可以将信息存储在本机的进程外,还可以将Session信息存储在其他的服务器的进程中。这时,不光需要将mode的值改为StateServer,还需要在stateConnectionString中配置相应的参数。例如你的计算你是192.168.0.1,你想把Session存储在IP为192.168.0.2的计算机的进程中,就需要设置成这样:stateConnectionString="tcpip=192.168.0.2:42424"。当然,不要忘记在192.168.0.2的计算机中装上.NET Framework,并且启动ASP.NET State Services服务。
yymycabbage 2009-09-25
  • 打赏
  • 举报
回复
使用state server会好一点,进程内的session丢失可能的情况太多
tubo12382 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 spring205 的回复:]
8楼的正解,我以前也是碰到这个问题,然后用了ASP.NET State Service就OK了。
[/Quote]

兄弟,我不知道web config具体怎么设的。。
我一设出来就报错。。。
服务器的IP:192.168.1.107是局域网的服务器,。。。应该怎么配。?
tubo12382 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 oyiboy 的回复:]
启用ASP.NET State Service服务,会话模式设置为StateServer
[/Quote]

我不知道web config具体怎么设的。。
我一设出来就报错。。。
coolspringlsq 2009-09-25
  • 打赏
  • 举报
回复
8楼的正解,我以前也是碰到这个问题,然后用了ASP.NET State Service就OK了。
smallmaster 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tubo12382 的回复:]
引用 2 楼 wartim 的回复:
session里如果存的是引用的对象,对象如果销毁了,这个session自然也null了


不是存的引用对像。

[/Quote]
看来你是不理解2楼的意思啊,找找msdn关于对象的描述。
你能不能把代码贴出?
离子漂浮物 2009-09-25
  • 打赏
  • 举报
回复
启用ASP.NET State Service服务,会话模式设置为StateServer
tubo12382 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 smallmaster 的回复:]
内存不足
客户端关闭
cookie被清除
[/Quote]
试了几个机子都是一样的,只要过一段时间不去动它,就没有了。。。
tubo12382 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 smallmaster 的回复:]
内存不足
客户端关闭
cookie被清除
[/Quote]
试了几个机子都是一样的,只要过一段时间不去动它,就没有了。。。
tubo12382 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wartim 的回复:]
session里如果存的是引用的对象,对象如果销毁了,这个session自然也null了
[/Quote]

不是存的引用对像。
SqlServer2008 2009-09-25
  • 打赏
  • 举报
回复
Session 很容易
用Cookie 把
HooverHuang 2009-09-25
  • 打赏
  • 举报
回复
600秒么,时间过了自己就失效了哦 。我建议你时间短点,时间到了就清楚,还是安全点。
如果是存用户名密码等信息还要加密一下
wartim 2009-09-25
  • 打赏
  • 举报
回复
session里如果存的是引用的对象,对象如果销毁了,这个session自然也null了
smallmaster 2009-09-25
  • 打赏
  • 举报
回复
内存不足
客户端关闭
cookie被清除

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧