You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor(.NET6)长耗时API进度回传及SignalR消息定向问题

Blazor WASM + WebAPI 长任务进度回传问题

原始问题

我正在开发基于托管Blazor模板(WASM前端搭配WebAPI后端,均基于.NET 6)的网站。有一个需数分钟才能完成的API调用,正在寻找可靠的方式向客户端回传进度。

我曾关注过SignalR,但误以为它不适用于纯服务端到客户端的通信,更多是用于客户端间通信,因此没深入尝试。还考虑过使用多次API调用:一次启动任务,一次通过定时轮询获取进度,一次获取结果——这方法可行,但感觉像是临时方案。

是否有更好的方法?能否推荐一个适用的教程?我找到的多数教程都是关于监控大文件上传进度的,与我的需求无关。另外我仍在学习Blazor,这是我首次超出开箱即用模板进行开发,若有考虑不周的地方还请见谅。

编辑1

感谢各位的建议,看来我之前的方向是对的,再次尝试后已基本实现功能。唯一尚未解决的是如何将进度消息仅发送给发起API调用的客户端,似乎Hub内部没有类似_hubController.Clients.Caller的可用选项。我做了一个最小示例项目,若能提供关于限制响应仅发送给调用客户端的帮助,我将不胜感激。

编辑2

我已解决该问题,至少实现了我需要的基本功能,并已更新示例项目。


内容的提问来源于stack exchange,提问作者Slugsie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 19:57:41