Innan du startar en ASP.NET Core SignalR-klient konfigurerar du anslutningsalternativen:

var connection = new HubConnectionBuilder()
    .WithUrl("https://events.example/hub", options =>
    {
        options.Proxy = new WebProxy("http://proxy.example:8080");
    })
    .Build();

Det här utdraget använder den moderna SignalR-klienten och System.Net. Hantera connection genom applikationens asynkrona livscykel; behåll hubbens URL som mål. För ett tillåtet test av en offentlig hubb utan konfigurerade proxyuppgifter levererar HTTP-proxylistan kandidat-HTTP-mellanhänder.

TransportinställningVar proxyn gäller
Standardbeteende för anslutningHttpConnectionOptions.Proxy väljer mellanhanden; .NET 8:s standard-WebSocket-transport tilldelar den även ClientWebSocketOptions
HttpMessageHandlerFactoryAnpassar HTTP-hantering, inte WebSocket-anslutningar
En medföljande WebSocketFactoryäger sitt eget skapandebeteende och måste tillämpa sin nödvändiga väg

En lyckad förhandling bevisar inte att den senare WebSocket-tunneln accepterades. Om en anpassad WebSocketFactory använder .NET ClientWebSocket, konfigurera den socketens proxy innan du ansluter. Läs transportdiagnostiken för det senast slutförda steget och granska även alla avsiktliga reservtransporter.

Äldre ASP.NET SignalR-exempel som anger Connection.Proxy tillhör en annan generation. Med HubConnectionBuilder behåller du proxyn tillsammans med de andra WithUrl transportalternativen i stället för att konfigurera en orelaterad HTTP-begäran.

Relaterade artiklar