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

Povezani članci