Postavite proxy ASP.NET Core SignalR klijenta prije pokretanja
Konfigurirajte ASP.NET Core SignalR klijent kroz HttpConnectionOptions tako da njegova pregovaranja i odabrani transport imaju predviđenu rutu.
Prije pokretanja ASP.NET Core SignalR klijenta, konfigurirajte njegove opcije veze:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Ovaj isječak koristi moderni SignalR klijent i System.Net. Upravljajte connection kroz asinhroni životni ciklus aplikacije; zadržite URL huba kao odredište. Za dozvoljeni test javnog huba bez konfiguriranih proxy vjerodajnica lista HTTP proxyja nudi kandidat HTTP posrednike.
| Postavka transporta | Gdje se proxy primjenjuje |
|---|---|
| Zadano ponašanje veze | HttpConnectionOptions.Proxy bira posrednika; .NET 8 zadani WebSocket transport također ga dodjeljuje ClientWebSocketOptions |
HttpMessageHandlerFactory | Prilagođava HTTP obradu, ne WebSocket veze |
Dostavljeni WebSocketFactory | posjeduje svoje ponašanje pri stvaranju i mora primijeniti potrebnu rutu |
Uspješno pregovaranje ne dokazuje da je kasniji WebSocket tunel prihvaćen. Ako prilagođeni WebSocketFactory koristi .NET ClientWebSocket, konfigurirajte proxy tog socketa prije povezivanja. Čitajte transportnu dijagnostiku za posljednji dovršeni korak i pregledajte i svaki namjerni rezervni transport.
Stariji ASP.NET SignalR primjeri koji postavljaju Connection.Proxy pripadaju drugoj generaciji. Uz HubConnectionBuilder držite proxy uz ostale WithUrl opcije transporta umjesto konfiguriranja nepovezanog HTTP zahtjeva.