De proxy van een ASP.NET Core SignalR-client instellen vóór het starten
Configureer een ASP.NET Core SignalR-client via HttpConnectionOptions zodat de onderhandeling en het gekozen transport de bedoelde route volgen.
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.
| Transportinstelling | Waar de proxy geldt |
|---|---|
| Standaard verbindingsgedrag | HttpConnectionOptions.Proxy selecteert de tussenpersoon; het standaard WebSocket-transport van .NET 8 wijst het ook toe aan ClientWebSocketOptions |
HttpMessageHandlerFactory | Past HTTP-afhandeling aan, niet WebSocket-verbindingen |
Een geleverde WebSocketFactory | bezit 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.