Establecer el proxy de un cliente ASP.NET Core SignalR antes del inicio
Configure un cliente ASP.NET Core SignalR mediante HttpConnectionOptions para que su negociación y el transporte elegido tengan la ruta prevista.
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 transporte | Dónde se aplica el proxy |
|---|---|
| Comportamiento de conexión predeterminado | HttpConnectionOptions.Proxy selecciona el intermediario; el transporte WebSocket predeterminado de .NET 8 también lo asigna a ClientWebSocketOptions |
HttpMessageHandlerFactory | Personaliza el manejo HTTP, no las conexiones WebSocket |
Un WebSocketFactory | proporcionado 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.