Angi proxy for en ASP.NET Core SignalR-klient før oppstart
Konfigurer en ASP.NET Core SignalR-klient via HttpConnectionOptions slik at forhandlingen og den valgte transporten følger den tiltenkte ruten.
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();
Dette eksemplet bruker den moderne SignalR-klienten og System.Net. Styr 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.
| Oppsett av transport | Hvor proxyen gjelder |
|---|---|
| Standard tilkoblingsatferd | HttpConnectionOptions.Proxy velger mellomleddet; .NET 8s standard WebSocket-transport tildeler den også til ClientWebSocketOptions |
HttpMessageHandlerFactory | Tilpasser HTTP-behandling, ikke WebSocket-tilkoblinger |
En levert WebSocketFactory | har sin egen opprettelsesatferd og må bruke den nødvendige 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.