web-dev-qa-db-fra.com

Comment envoyer des paramètres / requêtes dans HubConnection SignalR Core

J'essaie d'ajouter un paramètre dans la connexion à signalr.

J'utilise Builder pour créer ma connexion client et la démarrer:

var connection = new HubConnectionBuilder()
        .WithUrl("http://10.0.2.162:5002/connection")
        .WithConsoleLogger()
        .WithMessagePackProtocol()
        .WithTransport(TransportType.WebSockets)
        .Build();

await connection.StartAsync();

Je veux envoyer un paramètre simple à ce sujet: Quelque chose comme:

"Jeton": "123"

Du côté de mon serveur, je pense que je peux prendre ce paramètre de HttpContext:

public override Task OnConnectedAsync()
{
    var httpContext = Context.Connection.GetHttpContext();
    var token = httpContext.Request.Query["Token"];
    return base.OnConnectedAsync();
}

Une idée de la façon d'envoyer ce paramètre? Merci.

13
Pedro Franco

J'ai trouvé comment faire cela après de nombreuses recherches:

Sur ma version, j'envoie simplement le jeton à partir de la connexion URL. Comme ça:

var connection = new HubConnectionBuilder()
        .WithUrl($"http://10.0.2.162:5002/connection?token={token}")
        .WithConsoleLogger()
        .WithMessagePackProtocol()
        .WithTransport(TransportType.WebSockets)
        .Build();
16
Pedro Franco