Postavite proxy ASP.NET Core SignalR klijenta prije pokretanja
Konfigurirajte ASP.NET Core SignalR klijent kroz HttpConnectionOptions tako da njegovo pregovaranje 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 akreditiva lista HTTP proxyja nudi kandidatne HTTP posrednike.
| Postavka transporta | Gde se proxy primenjuje |
|---|---|
| Podrazumevano ponašanje veze | HttpConnectionOptions.Proxy bira posrednika; podrazumevani WebSocket transport u .NET 8 takođe ga dodeljuje ClientWebSocketOptions |
HttpMessageHandlerFactory | Prilagođava HTTP obradu, ne WebSocket veze |
Dostavljeni WebSocketFactory | poseduje sopstveno ponašanje stvaranja i mora da primeni potrebnu rutu |
Uspešno pregovaranje ne dokazuje da je kasniji WebSocket tunel prihvaćen. Ako prilagođeni WebSocketFactory koristi .NET ClientWebSocket, konfigurišite proxy tog socketa pre povezivanja. Čitajte dijagnostiku transporta za poslednji završeni korak i pregledajte i svaki namerni rezervni transport.
Stariji ASP.NET SignalR primeri koji postavljaju Connection.Proxy pripadaju drugoj generaciji. Uz HubConnectionBuilder držite proxy uz ostale WithUrl opcije transporta umesto konfigurisanja nepovezanog HTTP zahteva.