提供的门票已过期

时间:2012-11-03 21:20:16

标签: asp.net .net-4.0 iis-7.5

我相信我已经研究了所有相关的stackoverflow问题以及其他网络资源,但我仍然在每天约20个用户使用的24x7网络应用中每天都有这个问题十几次或更多。

Event code: 4005 
Event message: Forms authentication failed for the request. Reason: The ticket supplied has expired. 

用户说他们在60分钟超时之前就已经注销了。 (应用程序中的某些表单需要很长时间才能填写。用户正在采访人员并撰写笔记,这可能需要很长时间。因此,如果您在20-30分钟后慢慢输入笔记并保存表单,那就太令人沮丧了提交表单时将您注销。)

一些细节:

  1. 这是运行IIS 7.5的单个Web服务器,而不是表单( 数据库在另一个盒子上)。所有服务器都是虚拟机
  2. IIS会话状态 设置为“正在处理”,在cookie设置下,超时为60 分钟。
  3. 应用程序池的空闲超时设置为60分钟 回收间隔为29小时
  4. 在这些表示工作人员的“故障单过期”消息之前,我没有在事件日志中看到任何错误 进程失败或应用程序池被回收。
  5. 最后是web.config的一个片段:

    <authentication mode="Forms">
    <forms loginUrl="~/Account/Login.aspx" timeout="60" protection="All"     slidingExpiration="true" />
    </authentication>
    

    任何帮助追踪这些会话超时都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我使用了jquery idle timer来跟踪用户的不活动状态,并在会话超时之前显示警告。还允许用户通过进行Ajax调用来更新会话。仅供参考,您可以参考这些链接

link 1

link2