Avant de démarrer un client ASP.NET Core SignalR, configurez ses options de connexion :

var connection = new HubConnectionBuilder()
    .WithUrl("https://events.example/hub", options =>
    {
        options.Proxy = new WebProxy("http://proxy.example:8080");
    })
    .Build();

Cet extrait utilise le client SignalR moderne et System.Net. Gérez connection pendant le cycle de vie asynchrone de l’application ; conservez l’URL du hub comme destination. Pour un test de hub public autorisé sans identifiants de proxy configurés, la liste de proxys HTTP fournit des intermédiaires HTTP candidats.

Configuration du transportOù le proxy s’applique
Comportement de connexion par défautHttpConnectionOptions.Proxy sélectionne l’intermédiaire ; le transport WebSocket par défaut de .NET 8 l’attribue aussi à ClientWebSocketOptions
HttpMessageHandlerFactoryPersonnalise le traitement HTTP, pas les connexions WebSocket
Une WebSocketFactoryfournie possède son propre comportement de création et doit appliquer la route requise

Une négociation réussie ne prouve pas que le tunnel WebSocket ultérieur a été accepté. Si un WebSocketFactory personnalisé utilise .NET ClientWebSocket, configurez le proxy de ce socket avant de vous connecter. Lisez les diagnostics de transport de la dernière étape terminée et examinez aussi tout transport de secours délibéré.

Les exemples ASP.NET SignalR plus anciens qui définissent Connection.Proxy appartiennent à une autre génération. Avec HubConnectionBuilder, gardez le proxy avec les autres WithUrl options de transport au lieu de configurer une requête HTTP sans rapport.

Articles similaires