首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式诊断由于应用程序回收而导致的ASP.Net会话丢失?

以编程方式诊断由于应用程序回收而导致的ASP.Net会话丢失?
EN

Stack Overflow用户
提问于 2008-12-30 19:58:30
回答 4查看 1.5K关注 0票数 2

我们有一个ASP.Net 2.0 (VS2005)应用程序,它在本地工作良好,但在远程服务器上部署时有时会丢失会话状态。

我怀疑IIS重新启动应用程序从而消除用户的会话状态时可能会出现问题。然而,服务器并不在我们的控制之下.因此,我们不能简单地启动IIS管理并检查应用程序设置。当然,另一个可能的原因是客户端出于某种原因拒绝ASP.Net会话cookie。

(我们基本上排除了代码中的错误,因为它是一个简单的应用程序,它从不尝试从会话对象中删除任何内容,但当然.这些是著名的遗言,是吧?)

你怎么用程序诊断这件事?

我主要是想弄清楚如何诊断这个问题;如果过度热心的应用程序回收是罪魁祸首,那么编写代码应该不会太困难。

我确信这对于ASP.Net开发人员来说是一个常见的问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-12-30 20:06:07

如果您可以更改某些设置,下面的几个链接可能有助于解决此问题:

在IIS 6.0中记录工作人员进程回收事件(IIS 6.0)

记录ASP.NET应用程序关闭事件

票数 3
EN

Stack Overflow用户

发布于 2008-12-30 20:04:51

将一些日志代码添加到global.asax Application_Start方法中,您将能够看到/如果您的丢失是由应用程序重新启动造成的(或者至少您将看到服务器何时启动,如果您知道会话同时丢失,您就知道了问题所在)。

解决方法是使用proc会话状态(如果您没有对服务器的控制,则可能必须基于SQL )。它需要对代码进行一些额外的工作,因为您在会话中存储的所有内容都必须是可序列化的,但是解决了应用程序重新启动导致会话丢失的问题。

票数 1
EN

Stack Overflow用户

发布于 2008-12-30 20:18:50

为应用程序池中的多个工作线程(Web花园)配置的IIS可能导致会话状态的丢失。

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

https://stackoverflow.com/questions/401311

复制
相关文章

相似问题

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