Angiv proxy for en ASP.NET Core SignalR-klient før opstart
Konfigurer en ASP.NET Core SignalR-klient via HttpConnectionOptions, så dens forhandling og valgte transport får den tilsigtede rute.
Før du starter en ASP.NET Core SignalR-klient, skal du konfigurere dens forbindelsesindstillinger:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Dette uddrag bruger den moderne SignalR-klient og System.Net. Administrer connection gennem applikationens asynkrone livscyklus; behold hub-URL'en som destination. Til en tilladt offentlig hub-test uden konfigurerede proxy-legitimationsoplysninger leverer HTTP-proxylisten kandidat-HTTP-mellemled.
| Transportopsætning | Hvor proxyen gælder |
|---|---|
| Standardforbindelsesadfærd | HttpConnectionOptions.Proxy vælger mellemleddet; .NET 8's standard-WebSocket-transport tildeler den også til ClientWebSocketOptions |
HttpMessageHandlerFactory | Tilpasser HTTP-håndtering, ikke WebSocket-forbindelser |
En medfølgende WebSocketFactory | ejer sin oprettelsesadfærd og skal anvende sin påkrævede rute |
En vellykket forhandling beviser ikke, at den senere WebSocket-tunnel blev accepteret. Hvis en tilpasset WebSocketFactory bruger .NET ClientWebSocket, skal du konfigurere denne sockets proxy før tilslutning. Læs transportdiagnostik for det sidste fuldførte trin, og undersøg også enhver bevidst reserve-transport.
Ældre ASP.NET SignalR-eksempler, der angiver Connection.Proxy tilhører en anden generation. Med HubConnectionBuilder skal du beholde proxyen sammen med de øvrige WithUrl transportindstillinger i stedet for at konfigurere en uvedkommende HTTP-anmodning.