diff --git a/src/SignalR/server/Core/src/HubConnectionContext.cs b/src/SignalR/server/Core/src/HubConnectionContext.cs index c7a399264083..ac6e78d1ee07 100644 --- a/src/SignalR/server/Core/src/HubConnectionContext.cs +++ b/src/SignalR/server/Core/src/HubConnectionContext.cs @@ -99,6 +99,7 @@ internal StreamTracker StreamTracker } internal HubCallerContext HubCallerContext { get; } + internal HubCallerClients HubCallerClients { get; set; } = null!; internal Exception? CloseException { get; private set; } diff --git a/src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.cs b/src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.cs index 07c235d63af0..06a3d641df9d 100644 --- a/src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.cs +++ b/src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.cs @@ -74,6 +74,7 @@ public DefaultHubDispatcher(IServiceScopeFactory serviceScopeFactory, IHubContex public override async Task OnConnectedAsync(HubConnectionContext connection) { var scope = _serviceScopeFactory.CreateScope(); + connection.HubCallerClients = new HubCallerClients(_hubContext.Clients, connection.ConnectionId); try { @@ -558,7 +559,7 @@ private async Task SendInvocationError(string? invocationId, private void InitializeHub(THub hub, HubConnectionContext connection) { - hub.Clients = new HubCallerClients(_hubContext.Clients, connection.ConnectionId); + hub.Clients = connection.HubCallerClients; hub.Context = connection.HubCallerContext; hub.Groups = _hubContext.Groups; }