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

如何在Blazor页面中获取SignalR电路ID?

获取Blazor页面的SignalR电路ID(无需自定义Hub)

不需要手动创建Hub类,Blazor内置的SignalR通信机制已经提供了获取电路ID的便捷方式,你可以通过注入CircuitAccessor来直接获取:

  • 注入CircuitAccessor服务
    在Blazor组件(.razor文件)中,通过依赖注入引入CircuitAccessor:

    @inject Microsoft.AspNetCore.Components.Server.Circuits.CircuitAccessor CircuitAccessor
    
  • 获取电路ID
    在组件的代码逻辑中,通过CircuitAccessor.Circuit?.Id获取当前的SignalR电路ID:

    @code {
        private string? CircuitId { get; set; }
    
        protected override void OnInitialized()
        {
            CircuitId = CircuitAccessor.Circuit?.Id;
        }
    }
    

补充说明

  • CircuitAccessor是Blazor Server内置的服务,专门用于访问当前客户端的电路信息,无需额外配置。
  • 电路ID在客户端与服务器建立SignalR连接时生成,只要连接保持有效,这个ID就会保持不变;当连接断开重连时,会生成新的电路ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:01:05