Defina o proxy dun cliente ASP.NET Core SignalR antes do inicio
Configure un cliente ASP.NET Core SignalR mediante HttpConnectionOptions para que a súa negociación e o transporte escollido teñan a ruta prevista.
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 transporte | Onde se aplica o proxy |
|---|---|
| Comportamento de conexión predeterminado | HttpConnectionOptions.Proxy selecciona o intermediario; o transporte WebSocket predeterminado de .NET 8 tamén o asigna a ClientWebSocketOptions |
HttpMessageHandlerFactory | Personaliza o manexo HTTP, non as conexións WebSocket |
Un WebSocketFactory | subministrado 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.