首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于会话超时

关于会话超时
EN

Stack Overflow用户
提问于 2011-11-04 16:34:50
回答 3查看 77关注 0票数 0

我有一个关于会话时间的问题,如果用户Logout.It不影响用户会话,并且用户会话持续一天,我们可以存储1个day.So的用户会话吗?

EN

回答 3

Stack Overflow用户

发布于 2011-11-04 16:36:53

可以在web.config的元素中设置timeout属性。也就是说,如果您正在使用InProc会话(存储在内存中),您应该知道在某些情况下(非活动时间、达到CPU/内存限制阈值等),IIS可能会回收应用程序池。当发生这种情况时,如果会话存储在服务器的内存中,它们将被销毁。要解决这个问题,可以使用进程外会话(StateServer或SQL)。您可以阅读有关不同session state modes的信息。

票数 2
EN

Stack Overflow用户

发布于 2011-11-04 16:48:55

你不会想为此使用会话的。(至少不是InProc会话。)

您可以增加会话的超时,但这意味着每个访问者都将有一个会话对象,该对象在他们离开站点后存活一天(假设您实际上在会话对象中存储了一些内容)。如果你每天有10000访问者,这意味着大约有10000个会话对象一直潜伏在内存中。

应用程序池通常定期回收,这意味着所有当前会话对象都会丢失。

您可以将用户身份存储在持久cookie中,并将任何其他数据存储在数据库中。您还可以按照Darin Dimitrov的建议使用进程外会话。

票数 0
EN

Stack Overflow用户

发布于 2011-11-04 16:52:43

您可以更改web.config文件中的默认session超时。

正如ASP.NET Session State所描述的,您可以这样做,并且可以更改超时周期

代码语言:javascript
运行
复制
<configuration>
  <sessionstate 
      mode="inproc"
      cookieless="false" 
      timeout="20" 
      sqlconnectionstring="data source=127.0.0.1;user id=<user id>;password=<password>"
      server="127.0.0.1" 
      port="42424" 
  />
</configuration>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8006638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档