c# - SignalR.Client:控制台客户端没有像浏览器客户端那样接收事件
问题描述
我有一个带有一种“发送”方法的 asp.net mvc 集线器。此外,我有 2 个客户端:chrome 浏览器和控制台应用程序。
当我从控制台向“MyHub”发送消息到“发送”方法时,一切都按预期工作,“broadcastMessage”事件获取消息(控制台和浏览器)。
当我通过 mvc 服务器向客户端发起
var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
context.Clients.All.broadcastMessage(message);
只有浏览器接收到事件“broadcastMessage”但控制台客户端没有收到任何消息。
我做错了什么?
asp.net mvc 集线器:
public class MyHub : Hub
{
public void Send(string param)
{
Clients.All.broadcastMessage($" param: {param}");
}
}
控制台应用程序:
public void OnBroadcastMessage(Action<string> action)
{
_myHub.On<string>("broadcastMessage", param =>
{
...
});
}
解决方案
推荐阅读
- javascript - 无法读取未定义的属性“0”以及如何选择 r = magnum 的数据?
- javascript - 在Vue模板中使用索引访问数组数据
- websphere - 在构建期间动态确定 Websphere 版本
- java - 在 JPA 中使用多个表映射单个实体类
- c++ - ceres solver:如何在算子中进行数据类型转换和操作
- javascript - 警告:道具类型失败:提供给“TableRow”的道具“children”无效
- android - android studio 预览版的 SDK 路径应该是什么?
- amazon-web-services - 有没有办法像使用管理控制台一样使用 CLI 将安全组添加到 EC2 实例?
- angular - Angular Service Broadcast不适用于路由
- html - 忽略父级最大宽度 css