跟踪,如果我的页面打开为Tab

时间:2015-10-24 12:37:29

标签: javascript c# jquery asp.net asp.net-mvc

我目前正在开展一个小型的个人项目,我想要一个与游戏相关的登录/注册功能。

我页面上的每个已注册用户都可以选择通过按钮排队等待事件。当用户单击该按钮时,他会排队等待特定事件。我的后端应该知道向每个排队的用户发送ping(每隔几秒)以确定用户是否仍然排队等待。要确定他的活动,我想跟踪我的页面/应用状态。如果我的页面在浏览器的某个位置打开(在选项卡中),则ping应返回true以告诉我的数据库,用户仍然排队等待该事件。 ping应该返回false,如果找不到我的页面打开(关闭浏览器,关闭pc(崩溃)或关闭选项卡)。

我在asp.net MVC中使用C#

所以我正在寻找一种通过后端ping解决方案检查客户端页面状态的好方法。

如何完成这种状态检查的任何提示?会有一些提示。

1 个答案:

答案 0 :(得分:0)

我无法在这里提供一个完整的解决方案,其中包含有关如何解决问题的代码,但我可以向您提供一些提示,让您自己解决问题。

您需要的是Web Sockets,在.NET领域,进入实时客户端 - 服务器通信世界的最简单方法之一是SignalR

我会看看SignalR以及它是如何运作的,我假设你会立即弄清楚如何解决你的问题。

关于如果页面作为选项卡打开的跟踪事项,首先我不知道任何多年以来不支持选项卡的现代Web浏览器,所以在这种方式下工作将毫无用处。您只需要使用乒乓方法让服务器知道某个客户端仍处于活动状态,无论谁连接到您的端点(谁关心它是Web应用程序还是移动应用程序)。