asp.net - SignalR - Clients.All 方法发送到错误的页面
问题描述
我对不理解的 SignalR 集线器有疑问。我在 Hub 上一节课。我的应用程序中有两个页面连接到同一个集线器。
当我调用如下方法时:Clients.All.messageReceived(userName, message, time, "") 只有 Page1 中的方法(脚本)正在运行/为什么?
如果我从 Page1 中删除此方法,则不会发生任何事情...
有问题的截图: https ://ibb.co/nLs7jDc
终于解决了。(所以问题出在方法声明中): 在此处输入图像描述
解决方案
尝试将您的调用移动到 messageReceived 处理程序方法下方的 start() 。
在建立连接之前,您必须创建连接对象、创建代理并为可从服务器调用的方法注册事件处理程序。设置代理和事件处理程序后,通过调用 start 方法建立连接。
$(function(){
var logger = $.connection.logHub;
$.connection.hub.error(function(error){});
logger.client.messageReceived = function(){};
$.connection.start();
});
推荐阅读
- excel - 如何在 Excel 中仅填充与特定单元格中的值一样多的行?
- sql - 在内联查询之外的 Where 子句中使用内联查询别名
- javascript - 如何在javascript中检查字符串是否是有效的XPATH
- r - 带有颜色和图例的简单 ggplot2 情况
- android - Android Room 和 Sqldelight 的根本区别是什么?
- angular - Translateservice 在 Ionic3 的两个页面中不起作用?
- branch - 如何在采样模式下使用 perf_event_open 读取 BRANCH STACK 的值?
- javascript - 单击时如何更改部分字符串的样式:Reactjs
- ios - 使用代码“setImage”设置按钮图像时出现问题
- spring - dockerized 环境中的 Keycloak 和 Spring Boot Web 应用程序