Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net MVC#在会话超时/浏览器关闭时发送通知_C#_Asp.net Mvc - Fatal编程技术网

ASP.Net MVC#在会话超时/浏览器关闭时发送通知

ASP.Net MVC#在会话超时/浏览器关闭时发送通知,c#,asp.net-mvc,C#,Asp.net Mvc,我的应用程序需要一个收集所有更新记录的通知,然后在用户会话/浏览器关闭后,它将通过sms在审批人上发送更新记录的摘要。(*我们的短信是基于服务器的,这就是为什么我只需要将recepint消息插入到某个表中。) 我需要帮助创建一个如何实现上述要求的概念。我至少可以考虑两种方法: 正如Mohayemin在ASP.NET中建议的那样——websockets——您可以使用。这将允许您在客户端和服务器之间建立双向通道,并在关闭时收到通知。这项技术的问题是,如果用户关闭了窗口,然后打开了另一个窗口,您可能会

我的应用程序需要一个收集所有更新记录的通知,然后在用户会话/浏览器关闭后,它将通过sms在审批人上发送更新记录的摘要。(*我们的短信是基于服务器的,这就是为什么我只需要将recepint消息插入到某个表中。)


我需要帮助创建一个如何实现上述要求的概念。

我至少可以考虑两种方法:

  • 正如Mohayemin在ASP.NET中建议的那样——websockets——您可以使用。这将允许您在客户端和服务器之间建立双向通道,并在关闭时收到通知。这项技术的问题是,如果用户关闭了窗口,然后打开了另一个窗口,您可能会因为第一个会话结束而发送短信,但您无法对第二个会话的打开做出反应。不确定这是否会困扰你

  • 对于您从用户收到的每个请求(如果您希望页面上打开浏览器的空闲用户算作活动用户,您可以每分钟左右发送一次Ajax请求),您更新了数据库中的时间戳,该时间戳将保存用户上一次活动的值。然后创建一个像cron一样工作的后台线程,以便每5分钟启动一次,并列出上一次活动超过您限制(例如15分钟)的所有用户。如果你发现了一些,发送短信并标记你已经处理了这个(以避免重复发送)。此解决方案解决了在第一个会话关闭后尽早重新打开会话的问题,因此它可能就是您想要使用的会话


  • 我喜欢你的第二个想法,谢谢,如果你喜欢,你可以投票表决。如果它对你有效,你可以接受它是一个正确的答案。