【问题标题】:How to check if User open specific page如何检查用户是否打开特定页面
【发布时间】:2019-07-27 00:37:21
【问题描述】:

我想知道特定用户是否打开特定页面,例如聊天页面,因为用户可能在线但未打开特定页面。

我正在使用带有 SignalR 的 ASP.NET MVC 5

情况是,假设 A & B 两个特定用户之间存在一对一的聊天页面,当用户 A 发送给用户B的消息,有选项:

1- 用户B打开聊天页面,所以他会在聊天页面中收到signaler的消息但不会收到通知

2- 用户B在线但没有打开聊天页面,所以他会在布局页面的通知菜单中收到通知,但在聊天页面中没有收到消息

所以最后我需要知道用户是否在服务器的 ChatHub 类中打开聊天页面内部 SendMessage 方法来决定选项

在服务器的 Hub 类中发送消息:

public void SendMessage(string msg, string userId)
{
    Clients.Client(connectionId).receiveMessage(chatMsge);

    // here i want to check if user is in chat page or not
   if(user not in chat page)
   {
         Clients.Client(connectionId).receiveNotify(chatMsge);
   }

}

问题是我需要检查 sendMessage 方法中的条件,所以我需要一些方法去客户端并返回结果

我被搜索了很多时间,但找不到我需要的东西

在布局页面中找到的信号器代码

没有错误信息,这是我想了解的 signalR 的逻辑

【问题讨论】:

  • 您到底想用这些信息做什么?因为你想用它做什么会告诉你更好的方式来回答你的问题
  • 我为你更新了问题,希望你能理解我的情况,谢谢

标签: asp.net asp.net-mvc signalr signalr-hub


【解决方案1】:

如果您想检查特定用户打开特定页面,只需为该页面添加一个 signalR 方法,每当任何用户加载该页面时,您都可以使用 userinfo 以及页面信息 ping signalR 方法。

最好能提供更多信息,以便获得更好的帮助。

【讨论】:

  • 那么首先你需要做一些分析,因为没有人会为你提供现成的代码。在这里你可以获得帮助来解决你的问题而不是整个代码。
猜你喜欢
  • 2011-05-22
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
  • 2018-11-06
  • 1970-01-01
相关资源
最近更新 更多