2017-05-28 83 views
-1

我有一个Asp.Net MVC应用程序。这只是一种方法,所以我不能提供代码。Asp.Net显示会话超时提醒

基本上我想实现的是如果会话结束在用户所在的页面上显示警报。

enter image description here

从Azure中图为我想达到的目标(但这是更远,我想显示警告率先启动)。

那么是否有一个函数或任何由asp.net提供的检测会话结束?其次,我将如何显示警报?

回答

1

在asp.net中没有通知用户会话结束或即将结束的特定功能。但是这个功能现在在很多网站上都可以看到。 当收到回发请求时,会话由服务器启动。在特定时间段内没有用户操作时,会话过期。您可以使用JavaScript警报来向用户显示有关会话超时的弹出窗口。

我会建议2种方式:

  1. 运行在客户端的计时器,并通知用户,当它即将到期。例如。如果您的会话超时时间为5分钟,您可能在4分钟后通知用户 会话将在1分钟内过期,如果 不采取任何行动。
  2. 第二种方法是自动或当用户点击确定按钮时向控制器发起回传请求(您的会话很快就会过期,您将被注销。您是否想要延长会话?) 想要延长会话吗? )
2

不幸的是,这并没有简单的答案。原因是,如果您要ping服务器来检查会话,那么该操作实际上会更新会话超时,除非将服务配置为不访问会话 - 这意味着您需要另一个跟踪机制。 “假”的方法是设置一个等于会话超时的JavaScript时间。您需要在任何ajax调用上重置该定时器。

更多涉及的解决方案是使用持续连接技术,如SignalR,通过session_timeout通知用户。