Før du starter en ASP.NET Core SignalR-klient, konfigurer tilkoblingsvalgene:

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

Denne utdrag bruker den moderne SignalR-klienten og System.Net. Administrer connection gjennom applikasjonens asynkrone livssyklus; behold hub-URL-en som mål. For en tillatt offentlig hub-test uten konfigurerte proxy-legitimasjoner leverer HTTP-proxylisten kandidat-HTTP-mellomledd.

TransportoppsettHvor proxyen gjelder
Standard tilkoblingsatferdHttpConnectionOptions.Proxy velger mellomleddet; .NET 8s standard WebSocket-transport tildeler den også til ClientWebSocketOptions
HttpMessageHandlerFactoryTilpasser HTTP-håndtering, ikke WebSocket-tilkoblinger
En medfølgende WebSocketFactoryeier sin egen opprettelsesatferd og må bruke den påkrevde ruten

En vellykket forhandling beviser ikke at den senere WebSocket-tunnelen ble godtatt. Hvis en tilpasset WebSocketFactory bruker .NET ClientWebSocket, konfigurer proxyen for den sockelen før du kobler til. Les transportdiagnostikk for det siste fullførte trinnet, og undersøk også enhver bevisst reserveløsning.

Eldre ASP.NET SignalR-eksempler som angir Connection.Proxy tilhører en annen generasjon. Med HubConnectionBuilder beholder du proxyen sammen med de andre WithUrl transportvalgene i stedet for å konfigurere en urelatert HTTP-forespørsel.

Relaterte artikler