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ætningHvor proxyen gælder
StandardforbindelsesadfærdHttpConnectionOptions.Proxy vælger mellemleddet; .NET 8's standard-WebSocket-transport tildeler den også til ClientWebSocketOptions
HttpMessageHandlerFactoryTilpasser HTTP-håndtering, ikke WebSocket-forbindelser
En medfølgende WebSocketFactoryejer 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.

Relaterede artikler