Voordat u een ASP.NET Core SignalR-client start, configureert u de verbindingsopties:

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

Dit fragment gebruikt de moderne SignalR-client en System.Net. Beheer connection gedurende de asynchrone levenscyclus van de toepassing; houd de hub-URL als bestemming. Voor een toegestane openbare hub-test zonder geconfigureerde proxyreferenties levert de HTTP-proxylijst kandidaat-HTTP-tussenpersonen.

TransportinstellingWaar de proxy geldt
Standaard verbindingsgedragHttpConnectionOptions.Proxy selecteert de tussenpersoon; het standaard WebSocket-transport van .NET 8 wijst het ook toe aan ClientWebSocketOptions
HttpMessageHandlerFactoryPast HTTP-afhandeling aan, niet WebSocket-verbindingen
Een geleverde WebSocketFactorybezit zijn eigen aanmaakgedrag en moet de vereiste route toepassen

Een geslaagde onderhandeling bewijst niet dat de latere WebSocket-tunnel is geaccepteerd. Als een aangepaste WebSocketFactory .NET ClientWebSocket gebruikt, configureer dan de proxy van die socket voordat u verbinding maakt. Lees transportdiagnostiek voor de laatst voltooide stap en onderzoek ook elk bewust alternatief transport.

Oudere ASP.NET SignalR-voorbeelden die Connection.Proxy instellen, behoren tot een andere generatie. Houd met HubConnectionBuilder de proxy bij de andere WithUrl transportopties in plaats van een niet-gerelateerd HTTP-verzoek te configureren.

Gerelateerde artikelen