Postavite proxy ASP.NET Core SignalR klijenta prije pokretanja
Konfigurirajte ASP.NET Core SignalR klijent kroz HttpConnectionOptions kako bi njegovo pregovaranje i odabrani transport imali predviđenu rutu.
Prije pokretanja ASP.NET Core SignalR klijenta konfigurirajte njegove mogućnosti veze:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Ovaj ulomak koristi moderni SignalR klijent i System.Net. Upravljajte connection kroz asinkroni životni ciklus aplikacije; zadržite URL čvorišta kao odredište. Za dopušteni test javnog čvorišta bez konfiguriranih proxy vjerodajnica popis HTTP proxyja nudi kandidatne HTTP posrednike.
| Postavka prijenosa | Gdje se proxy primjenjuje |
|---|---|
| Zadano ponašanje veze | HttpConnectionOptions.Proxy bira posrednika; zadani WebSocket prijenos u .NET 8 također ga dodjeljuje ClientWebSocketOptions |
HttpMessageHandlerFactory | Prilagođava HTTP obradu, ne WebSocket veze |
Dostavljeni WebSocketFactory | posjeduje vlastito ponašanje stvaranja 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 dijagnostiku prijenosa za posljednji dovršeni korak i pregledajte i svaki namjerni rezervni prijenos.
Stariji primjeri ASP.NET SignalR koji postavljaju Connection.Proxy pripadaju drugoj generaciji. Uz HubConnectionBuilder držite proxy uz ostale WithUrl mogućnosti prijenosa umjesto konfiguriranja nepovezanog HTTP zahtjeva.