ASP.NET 会话在 2:30 后过期



我已经对此进行了几天的故障排除。代码是外部的。我们正在将其安装在我们的系统上。

操作系统: 视窗 7

问题:第一次访问该站点时,编译大约需要 2 分 30 秒,然后抛出错误"您的会话已超时"。有趣的是,它加载了网页的一部分,标题部分。

其他问题:

当我在Visual Studio中编译此代码时,它无法编译(我认为它应该编译)。我收到这些错误

Error   1   Could not load file or assembly 'Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.  C:Users--DocumentsHDWebCoreTabStrip.ascx   1    
Error   2   Could not load type 'Excelergy.Web.HD.cEditServicePeriodTab'.   C:Users--DocumentsHDWebEditServicePeriodTab.aspx   2

可能的解决方案

  1. 我查看了这个解决方案,它说aspnet_state.exe路径在注册表中可能是错误的,这可能是问题所在。事实证明这是真的。我的 .net2.xxxx 框架中缺少此文件,所以我添加了它,问题没有解决。

  2. 我尝试下载iWebControls.msi以处理上述编译错误。事实证明,该文件与Window 7不兼容,无法安装。

  3. 我试图跟踪代码,但当然我不能,因为代码首先无法编译。

真正的问题

有谁知道我该如何解决这个问题?我已经研究了IIS,应用程序池。更改不同的设置,但它总是超时。可能是什么问题。

可能只是Windows 7的特定问题(Windows 7 + .net 2.xxxx)

可能是在

2:30 运行回收的应用程序池

在右键单击应用程序池>>属性>"回收"选项卡上取消选中此选项 ->"在以下时间回收工作进程"

问题很可能是您使用的是in-proc session state(默认值)。

这可能会让你感到不安。 http://msdn.microsoft.com/en-us/library/ms178586.aspx 和这个 http://technet.microsoft.com/en-us/library/cc725820%28WS.10%29.aspx

就设置而言,其他答案应涵盖会话的所有内容 - 我认为唯一缺少的项目是让您检查 web.config 中的会话超时值是什么 - 当然还有不一致 - re:如果它不是 inproc,那么它要么是状态服务器,要么是 SQL(所以当然你必须有任何一个才能让会话工作)。

唯一要检查的其他地方是源代码(而不是设置)。检查任何 Session.Abandon 命令或类似命令的代码(re:会话被设置、删除等)。它可能与设置完全无关,并且在代码中的某个地方(其他地方)控制。

您已经可以看到异常加载时间(初始或非初始)的问题,因此这是深入研究代码的迹象......

相关内容

  • 没有找到相关文章

最新更新