【发布时间】:2013-08-10 08:11:33
【问题描述】:
你们中的一些人可能知道,Facebook 正在使用这种“系统”,当用户会话由于不活动或远程会话关闭而丢失时,会显示一个弹出窗口。我已经看到并阅读了这个Node.js question,但没有找到任何东西。
我在一家加拿大计算机公司工作,我们的主要产品是 CRM,一切都使用 Classic ASP 进行编码。
我知道。
整个基于 Web 的应用程序运行良好,并且由于我们将网站托管在我们的服务器上,因此可以在必要时打开端口并使用套接字。
这里有一个主要问题:有没有办法(可能使用 javascript 库或 jQuery 插件?)在会话到期时触发客户端事件或只是由于会话而丢失例如,服务器重置?
当然,最好是使用另一种解决方案,而不是每秒发送一个 AJAX 请求来验证用户会话是否仍然存在。如果有帮助,最多可以同时连接大约 3,500 个用户,我们的服务器可以轻松处理更多流量。这些服务器在 Windows Server 2008 和 IIS 7 上运行。
很遗憾,我无法为这个问题提供任何代码块或屏幕截图,因为没有什么可调试的。
一个想法是对不返回任何内容并挂在那里的文件使用 AJAX 请求。如果会话丢失(不活动或服务器重置),AJAX 请求将触发错误并触发“错误”功能。这是要考虑的事情吗?
或者,还有其他建议吗?
【问题讨论】:
-
是否必须在页面处于非活动状态并且没有任何事情发生时?当用户尝试做某事(单击按钮、导航某处等)时,您可以检查会话超时
-
另外请记住,每秒通过 AJAX 检查会刷新会话并有效地防止会话超时。
-
@gpinkas 确实,我需要在页面加载时完成的 AJAX 请求之类的东西,该请求永远不会返回任何内容,并且错误(由于服务器重置或会话超时)提示用户。这会是一个解决方案吗?
-
@YuriyGalanter 它必须是“实时的”,用户必须在会话丢失的那一刻得到通知。
标签: javascript session asp-classic