我想知道特定用户是否像聊天页面一样打开特定页面,因为用户可能在线但未打开特定页面。
我正在将ASP.NET MVC 5与SignalR一起使用
情况是,假设两个特定用户之间 A 和 B ,并且当用户 A 发送时,一对一聊天页面给用户 B 的消息,有以下选项:
1- 用户B 打开聊天页面,因此他将在发信人的聊天页面中收到消息,但不会收到通知
2- 用户B 处于在线状态,但未打开聊天页面,因此他将在布局页面的通知菜单中接收通知,但在聊天页面中不接收消息
所以最后我需要知道用户是否在服务器上的 ChatHub 类中打开内部聊天页面 SendMessage 方法,以确定选项< / p>
在服务器的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逻辑
答案 0 :(得分:0)
如果要检查特定用户是否打开特定页面,只需为该页面添加一个signalR方法,每当有用户加载该页面时,您都可以使用userinfo和页面信息ping signalR方法。
如果您提供更多信息,那将很好,这样您可以获得更好的帮助。