急,session为什么一下就过期了

acol 2008-09-01 09:22:20
我的session为什么一下就过期了,而且每次时间都不同,有时1分钟不操作页面就过期,有时候2分钟等.
我没设置过期时间.不是默认有 20分钟么?
...全文
284 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
超人Q 2008-09-01
  • 打赏
  • 举报
回复
6楼朋友说的真是全面,我也有这个问题,试试先!
wzwen 2008-09-01
  • 打赏
  • 举报
回复
我也经常遇以,改用cookie
牙签是竹子的 2008-09-01
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20080827/08/f71247f3-20bb-47dd-8d03-240cf4accf6e.html
new_Stone 2008-09-01
  • 打赏
  • 举报
回复
如果是VS2003,编译一次,Session就会过期.
zhnzzy 2008-09-01
  • 打赏
  • 举报
回复
现在请将mode设定为StateServer。StateServer是本机的一个服务,可以在系统服务里看到服务名为ASP.NET State Service的服务,默认情况是不启动的。当我们设定mode为StateServer之后,请手工将该服务启动。

这样,我们就能利用本机的StateService来存储Session了,除非电脑重启或者StateService崩掉,否则Session是不会丢的(因Session超时被丢弃是正常的)。

除此之外,我们还可以将Session通过其他电脑的StateService来保存。具体的修改是这样的。同样还在sessionState标签中,有个stateConnectionString='tcpip=127.0.0.1:42424'属性,其中有个ip地址,默认为本机(127.0.0.1),你可以将其改成你所知的运行了StateService服务的电脑IP,这样就可以实现位于不同电脑上的Asp.net程序互通Session了。

如果你有更高的要求,需要在服务期重启时Session也不丢失,可以考虑将mode设定成SQLServer,同样需要修改sqlConnectionString属性。关于使用SQLServer保存Session的操作,请访问这里。

在使用StateServer或者SQLServer存储Session时,所有需要保存到Session的对象除了基本数据类型(默认的数据类型,如int、string等)外,都必须序列化。只需将[Serializable]标签放到要序列化的类前就可以了。
如:
[Serializable]
public class MyClass
{
......
}
zhnzzy 2008-09-01
  • 打赏
  • 举报
回复
我们会发现sessionState标签中有个属性mode,它可以有3种取值:InProc、StateServer?SQLServer(大小写敏感) 。默认情况下是InProc,也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失
zhnzzy 2008-09-01
  • 打赏
  • 举报
回复
WEBCONFIG里面关于Session这一节的默认设置


<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>


但是,这样的SESSION是保存在IIS进程中的,有可能不稳定
白云任去留 2008-09-01
  • 打赏
  • 举报
回复
你这情况很正常了,要么改变session模式,要么使用cookie...
  • 打赏
  • 举报
回复
设置一下过期时间看看
lovehongyun 2008-09-01
  • 打赏
  • 举报
回复
app重启.可能会导致session,application这些对象重置

app的那个进程很不稳定..可能会因为一些程序错误或是系统原因而重启.

但他重启的过程你是看不到的.

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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