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 prijenosaGdje se proxy primjenjuje
Zadano ponašanje vezeHttpConnectionOptions.Proxy bira posrednika; zadani WebSocket prijenos u .NET 8 također ga dodjeljuje ClientWebSocketOptions
HttpMessageHandlerFactoryPrilagođava HTTP obradu, ne WebSocket veze
Dostavljeni WebSocketFactoryposjeduje 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.

Povezani članci