【发布时间】: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