首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么会导致Application_Start导致会话丢失?

什么会导致Application_Start导致会话丢失?
EN

Stack Overflow用户
提问于 2013-10-11 18:12:47
回答 1查看 391关注 0票数 0

我有一个托管在实时服务器上的网站,在那里我的会话仍然丢失。

我已经在global.asax中添加了一些日志记录,用于检查应用程序何时启动和结束、会话在何处开始和结束,以及是否存在应用程序错误。

当我导航到我的网站时,应用程序在我登录后启动,会话开始并存储我的电子邮件和用户id。之后,我只是在我的网站上导航了一分钟左右,然后im自动注销。自动注销是会话为空,然后我放弃它的结果。

下面是我对上面测试的记录。

代码语言:javascript
复制
[11:4:57:802]   Application has started
[11:4:58:872]   Session has started
[11:4:58:890]   Set Email Sessions
[11:4:59:61]   Set PracticeId and PractitionerId Sessions
[11:6:49:838]   Application has started
[11:6:5:391]   Session has ended
[11:6:5:445]   Application has ended
[11:6:8:208]   Session has started
[11:6:8:338]   Abandon Session
[11:6:8:343]   Session has ended

我已经测试过了,这不是一个特定链接的问题,当在本地主机上运行网站时,也不会发生这种情况。我失去了我的会话,因为应用程序的启动被触发了,我假设它会将会话设置为null。

什么会导致application_start被随机触发?

EN

回答 1

Stack Overflow用户

发布于 2013-10-11 18:17:39

您的IIS AppPool具有控制应用程序回收的配置选项。

例如:在没有任何活动的可配置时间段之后,当内存使用阈值被超过时,在每天的特定时间,...

查看您的AppPool配置。

自动注销是会话为空,然后我放弃它的结果。

至于自动注销,如果您使用的是Forms Authentication,那么您不需要仅仅因为您的会话已过期而自动注销。您仍将拥有Forms Authentication cookie,它的过期时间完全独立于会话过期时间。

在设计良好的应用程序中,您可以通过从持久性存储(通常是数据库)加载会话中的任何内容来重新生成它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19315597

复制
相关文章

相似问题

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