加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET会话意外结束

发布时间:2020-12-16 04:24:18 所属栏目:asp.Net 来源:网络整理
导读:我对ASP.NET 2.0上的会话有一个非常奇怪的问题.我正在使用的系统使用会话变量来存储对象的参数(如问题和答案),以生成报告.这些是具有相同名称的类的实例,因此它们使用如下参数填充: 该报告是通过4个aspx页面生成的.首先定义位置和日期参数,第二页存储问题,
我对ASP.NET 2.0上的会话有一个非常奇怪的问题.我正在使用的系统使用会话变量来存储对象的参数(如问题和答案),以生成报告.这些是具有相同名称的类的实例,因此它们使用如下参数填充:

该报告是通过4个aspx页面生成的.首先定义位置和日期参数,第二页存储问题,第三个存储答案.最后一个显示Excel和HTML格式的生成报告的链接.
所有可变数据都存储在会话中,一切顺利,直到最后一页,当发生Session.Abandon()之类的事情时,会触发Session_End事件并且所有变量都会丢失.这种情况每天只发生一次,对于每个登录用户首次使用报告,然后您可以尝试整整一天几十次,不会再看到它.

问题始终发生在同一页面上,会话模式为InProc.

我已经完成了以下验证:

>检查是否有任何Session.Abandon()或Session.Clear()命令.没有了.
>检查会话超时,设置为18分钟,如上所述,问题随时发生,无论您在18分钟内使用它的时间长短.
>在身份验证下检查表单超时.它也设置为18分钟.
>我已经了解到Server.Transfer()有一个错误,它可能有时刷新会话和视图状态,并已替换为Response.Redirec()
>逐行监控会话,当页面完全加载时,它就会死掉.所有变量都消失了,但会话仍然有效.
>就我而言,IIS已正确配置.我无法访问它,但所有其他系统都可以正常工作.
>还分析了一些上述系统,寻找可能发生的事情的一些线索,但他们的web.config文件与我遇到的问题非常相似,并且没有实现与会话交互的特殊代码.
>还考虑监视IIS以便重新启动应用程序,但我很确定它没有超过默认限制15.但是,我无权访问IIS服务器,并且在我的计算机上完成的所有测试都使用ASP.NET开发服务器.这两个问题都发生在.
>检查了进程回收的可能性,例如.config和asax文件更改,bin目录上的/更改,没有发生.

以下限制适用:

>由于公司政策,无法将会话模式更改为InProc以外的其他模式.
>报告生成“过程”通过4页创建.我不同意这一点,但由于时间和预算限制,无法重做.

任何想法或解决方案都有帮助.我将保持联系以进行任何必要的更新和测试.

解决方法

我要感谢大家的努力!

我和我的团队发现了这起案件的情况.有一种方法是删除网站文件夹中的临时文件和目录,导致回收和会话刷新.代码是计算日期和时间,并且应该每24小时删除一次目录,因此当用户首次登录系统并生成报告时,它会删除目录并刷新会话.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读