Antes de iniciar un cliente ASP.NET Core SignalR, configure as súas opcións de conexión:

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

Este fragmento usa o cliente SignalR moderno e System.Net. Xestione connection durante o ciclo de vida asíncrono da aplicación; manteña o URL do hub como destino. Para unha proba de hub público permitida sen credenciais de proxy configuradas, a lista de proxies HTTP fornece intermediarios HTTP candidatos.

Configuración do transporteOnde se aplica o proxy
Comportamento de conexión predeterminadoHttpConnectionOptions.Proxy selecciona o intermediario; o transporte WebSocket predeterminado de .NET 8 tamén o asigna a ClientWebSocketOptions
HttpMessageHandlerFactoryPersonaliza o manexo HTTP, non as conexións WebSocket
Un WebSocketFactorysubministrado posúe o seu propio comportamento de creación e debe aplicar a ruta requirida

Unha negociación correcta non demostra que o túnel WebSocket posterior fose aceptado. Se un WebSocketFactory personalizado usa .NET ClientWebSocket, configure o proxy dese socket antes de conectar. Lea o diagnóstico de transporte do último paso completado e revise tamén calquera transporte de reserva deliberado.

Os exemplos antigos de ASP.NET SignalR que definen Connection.Proxy pertencen a outra xeración. Con HubConnectionBuilder, manteña o proxy coas outras WithUrl opcións de transporte en lugar de configurar unha solicitude HTTP non relacionada.

Artigos relacionados