Wie erhalten Sie die Verbindungs-ID vom Hub zum serverseitigen Controller im .net Core?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie erhalten Sie die Verbindungs-ID vom Hub zum serverseitigen Controller im .net Core?

Post by Anonymous »

Ich habe diesen Hub in signalr:

Code: Select all

    using Microsoft.AspNetCore.SignalR;
using System.Collections;
using System.Diagnostics;

namespace BulletControls.Hub
{
public class ForumHub : Hub
{
public static Dictionary hubConnections = new Dictionary();

public override async Task OnConnectedAsync()
{
hubConnections.Add(Context.ConnectionId, "");
await Clients.Client(Context.ConnectionId).SendClientConnect(Context.ConnectionId);
}
public override async Task OnDisconnectedAsync(Exception? exception)
{
hubConnections.Remove(Context.ConnectionId);
await base.OnDisconnectedAsync(exception);
}
public async Task RecieveClientSessionGuid(string guid, string connectionId)
{
hubConnections[connectionId] = guid;
}
public async Task SendForumNotificationUpdateToClient(string guid, int commentId)
{
string connectionId = hubConnections.FirstOrDefault(x => x.Value == guid).Key;
await Clients.Client(connectionId).SendForumNotificationUpdateToClient($"{commentId}");
}

public string GetConnectionId(string guid)
{
string connectionId = hubConnections.FirstOrDefault(x => x.Value == guid).Key;
return connectionId;
}
}

public interface IComHub
{
Task SendClientConnect(string message);
Task SendForumNotificationUpdateToClient(string message);
}
}
Und ich habe diesen Endpunkt in meinem Controller:

Code: Select all

    [Route("/Forum/Threads/StoreThreadComment")]
public async Task StoreThreadComment(ThreadCommentInput threadComment)
{
forumHub.Clients.Client(??).SendForumNotificationUpdateToClient("");
}
Wie erhalte ich die Verbindungs-ID vom Hub und greife auf die Verbindungs-ID innerhalb des Controller-Endpunkts zu?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post