0

我有一个完全基于 jQuery AJAX 构建的应用程序页面。一切都很好,用户体验很好,但我无法解决的一个问题是会话超时。

尽管有各种尝试添加“心跳”(包括发布到更新会话变量的自定义 http 处理程序并将空白页面加载到 iframe 以确保页面生命周期完成),但我仍然虔诚地收到身份验证错误。

据我所知,ASPXAUTH cookie 没有像我希望的那样被更新,超时时间已经过去,然后我得到了我的错误。下次我的“heatbeat”触发时,服务器会给我一个新的cookie,然后我很好,直到下一次超时。

任何见解将不胜感激。

提前致谢。

4

2 回答 2

1

我记得很久以前面临登录过期的一些问题(这与 ASP.Net 中的会话超时不同)问题是因为我正在创建自定义身份验证 cookie 而不是使用标准重定向方法。你在做类似的事情吗?如果是这样,您可能必须手动更新 cookie,而不是简单地依赖滑动过期魔法。

为了让社区提供帮助,我认为您应该使用以下内容更新您的帖子:

  • 表单身份验证的部分配置
  • 会话的部分配置
  • 用于登录的代码
于 2012-05-28T19:34:08.683 回答
1

如果 ASP.NET 进程结束(我相信默认是在 10 分钟不活动后结束进程)并且您没有为站点设置显式身份验证设置,您将看到这一点。

您可以通过增加 IIS 中的空闲超时(IIS7 / Windows 2008 的说明)或在 web.config 文件中设置 machineKey 来解决它。可以在此处找到有关 machineKey 功能的非常全面的答案,并且可以在http://aspnetresources.com/tools/machineKey找到 machineKey 部分的生成器。

于 2012-05-28T18:49:05.033 回答