SuperAPI AI 工具集

signalr-integration

通用与其它

查看项目

更新于 10-16 01:09

技能介绍

用途:为 ASP.NET Core Razor Pages 应用提供生产可用的 SignalR 实时通信模式,用于即时更新、通知与协作类功能,避免连接泄漏、扩展性与安全问题。

主要能力:

  1. Hub 结构与组织:按领域划分 Hub,提供带鉴权的基类(未认证即 Context.Abort()),用强类型客户端接口定义消息,按用户或主题加入分组,并在订阅时校验资源归属(如订单属于当前用户)。
  2. Razor Pages 集成:在 Program.cs 中 AddSignalR() 配置 JSON 协议与 Redis 横向扩展,MapHub 并 RequireAuthorization;前端封装 SignalRClient 类,管理多连接、自动重连延迟与重连/断开 UI,页面中订阅订单更新并处理状态、进度与完成事件,失败时回退到轮询。
  3. 服务端广播:通过 IHubContext 向用户、用户集合、主题或分组发送通知,可在后台服务中定时推送订单状态与未读数。
  4. 连接管理与扩展:用 Redis 跟踪用户连接、判断在线状态,配合 Redis backplane 支持多实例。

使用方式:按资料中的模式在服务端注册 Hub 与鉴权、在 Razor 页面引入 signalr.min.js 与自定义客户端脚本,调用 connect、invoke 订阅方法并注册 on 回调;服务端通过注入的 HubContext 广播。

适用场景:通知中心、订单状态跟踪、协作与实时进度展示等 ASP.NET Core Razor Pages 应用。

限制:资料未提供具体安装命令、版本要求、性能基准与收费信息;示例中的授权逻辑与部分服务接口为占位实现,需按实际业务补全。