Antes de iniciar un cliente ASP.NET Core SignalR, configure sus opciones 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 el cliente SignalR moderno y System.Net. Gestione connection durante el ciclo de vida asíncrono de la aplicación; mantenga la URL del hub como destino. Para una prueba de hub público permitida sin credenciales de proxy configuradas, la lista de proxies HTTP proporciona intermediarios HTTP candidatos.

Configuración del transporteDónde se aplica el proxy
Comportamiento de conexión predeterminadoHttpConnectionOptions.Proxy selecciona el intermediario; el transporte WebSocket predeterminado de .NET 8 también lo asigna a ClientWebSocketOptions
HttpMessageHandlerFactoryPersonaliza el manejo HTTP, no las conexiones WebSocket
Un WebSocketFactoryproporcionado posee su propio comportamiento de creación y debe aplicar la ruta requerida

Una negociación correcta no demuestra que el túnel WebSocket posterior se haya aceptado. Si un WebSocketFactory personalizado usa .NET ClientWebSocket, configure el proxy de ese socket antes de conectar. Lea el diagnóstico de transporte del último paso completado y revise también cualquier transporte de reserva deliberado.

Los ejemplos antiguos de ASP.NET SignalR que establecen Connection.Proxy pertenecen a otra generación. Con HubConnectionBuilder, mantenga el proxy junto a las demás WithUrl opciones de transporte en lugar de configurar una solicitud HTTP no relacionada.

Artículos relacionados