ASP.NET Core 外部向SignalR的Hub发消息

ops/2025/2/11 22:23:19/

实现

  1. Hub类中的方法只应该用于消息的发布,而不应该用来写业务逻辑,SignalR中客户端给服务器端传递消息的超时时间为30s,如果对Hub类中的方法的调用执行时间超过30s,程序就会报错。
  2. 可以在MVC控制器、托管服务等外部向客户端推送消息。
  3. 可以通过注入IHubContext<THub>来获取对集线器进行操作的服务。
private readonly IHubContext<MyHub> hubContext;public DemoController(IHubContext<MyHub> hubContext)
{this.hubContext = hubContext;
}[HttpGet]
public async Task<ActionResult> AddUser(string UserName, string Password)
{MyUser user = new MyUser{UserName = UserName};await userManager.CreateAsync(user, Password).CheckAsync();await hubContext.Clients.All.SendAsync("ReceivePublicMessage", $"{UserName}欢迎加入");return Ok();
}

IHubContext和Hub的区别

IHubContext接口和Hub类有区别,因此在IHubContext中不能调用Caller、Others等成员啊,所以不能向“当前连接的客户端”、“除了当前连接之外的其他客户端”推送消息。

在控制器等集线器的外部调用的IHubContext服务,这些请求并不在一个SignalR连接中,因此也就没有“当前SignalR连接”的概念。


http://www.ppmy.cn/ops/157626.html

相关文章

Mac(m1)本地部署deepseek-R1模型

1. 下载安装ollama 直接下载软件&#xff0c;下载完成之后&#xff0c;安装即可&#xff0c;安装完成之后&#xff0c;命令行中可出现ollama命令 2. 在ollama官网查看需要下载的模型下载命令 1. 在官网查看deepseek对应的模型 2. 选择使用电脑配置的模型 3. copy 对应模型的安…

力扣 单词拆分

动态规划&#xff0c;字符串截取&#xff0c;可重复用&#xff0c;集合类。 题目 单词可以重复使用&#xff0c;一个单词可用多次&#xff0c;应该是比较灵活的组合形式了&#xff0c;可以想到用dp&#xff0c;遍历完单词后的状态的返回值。而这里的wordDict给出的是list&…

黑马React保姆级(PPT+笔记)

目录 一、react基础 1.进程 2、优势 3、市场 4、搭建脚手架 认识目录 核心依赖&#xff08;右边两个react&#xff09; 去除非必要 运行原理&#xff1a; 总结 5、JSX 本质 高频场景 注意​编辑 渲染列表 总结 条件渲染 简单情况 复杂情况 事件绑定&#x…

DeepSeek 遭 DDoS 攻击背后:DDoS 攻击的 “千层套路” 与安全防御 “金钟罩”_deepseek ddos

当算力博弈升级为网络战争&#xff1a;拆解DDoS攻击背后的技术攻防战——从DeepSeek遇袭看全球网络安全新趋势 在数字化浪潮席卷全球的当下&#xff0c;网络已然成为人类社会运转的关键基础设施&#xff0c;深刻融入经济、生活、政务等各个领域。从金融交易的实时清算&#xf…

KITE提示词框架:引导大语言模型的高效新工具

大语言模型的应用日益广泛。然而&#xff0c;如何确保这些模型生成的内容在AI原生应用中符合预期&#xff0c;仍是一个需要不断探索的问题。以下内容来自于《AI 原生应用开发&#xff1a;提示工程原理与实战》一书&#xff08;京东图书&#xff1a;https://item.jd.com/1013604…

龙迅LT8711UXD 高性能2PORT TYPE-CDPEDP转HDMi 2.0加PD 3.0,内置MCU

龙迅LT8711UXD描述&#xff1a; LT8711UXD是一款高性能的双车道TypeC/DP1.4到HDMI2.0转换器&#xff0c;设计用于将USB Type-C源或DP1.4源连接到HDMI2.0接收器。LT8711UXD集成了一个DP1.4兼容的接收机&#xff0c;和一个HDMI2.0兼容的发射机。此外&#xff0c;还包括两个CC控制…

PriorityQueue优先级队列的使用和Top-k问题

目录 关于PriorityQueue的使用注意&#xff1a; 1.使用时必须导入 PriorityQueue 所在的包&#xff1a; 2.PriorityQueue中放置的元素必须要能够比较大小&#xff0c;不能插入无法比较大小的对象&#xff0c;否则会抛出 ClassCastException异常 3.不能插入 null 对象&#xff0…

[7] 游戏机项目说明

[7] 游戏机项目说明 在这节课中&#xff0c;我们将学习如何基于FreeRTOS开发一个简单的游戏项目。我们会使用一个开源项目nwatch&#xff0c;它是一个基于STM32的开源手表&#xff0c;包含了三个游戏。我们的目标是将这个游戏移植到我们的开发板上&#xff0c;并逐步使用FreeR…