Definiu el proxy d'un client ASP.NET Core SignalR abans de l'inici
Configureu un client ASP.NET Core SignalR mitjançant HttpConnectionOptions perquè la negociació i el transport triat tinguin la ruta prevista.
Abans d'iniciar un client ASP.NET Core SignalR, configureu les seves opcions de connexió:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Aquest fragment utilitza el client SignalR modern i System.Net. Gestioneu connection durant el cicle de vida asíncron de l'aplicació; manteniu l'URL del hub com a destinació. Per a una prova de hub públic permesa sense credencials de proxy configurades, la llista de proxys HTTP proporciona intermediaris HTTP candidats.
| Configuració del transport | On s'aplica el proxy |
|---|---|
| Comportament de connexió per defecte | HttpConnectionOptions.Proxy selecciona l'intermediari; el transport WebSocket per defecte del .NET 8 també l'assigna a ClientWebSocketOptions |
HttpMessageHandlerFactory | Personalitza el maneig HTTP, no les connexions WebSocket |
Un WebSocketFactory | proporcionat posseeix el seu comportament de creació i ha d'aplicar la ruta requerida |
Una negociació correcta no demostra que el túnel WebSocket posterior s'hagi acceptat. Si un WebSocketFactory personalitzat utilitza .NET ClientWebSocket, configureu el proxy d'aquest socket abans de connectar. Llegiu el diagnòstic de transport de l'últim pas completat i reviseu també qualsevol transport alternatiu deliberat.
Els exemples antics d'ASP.NET SignalR que defineixen Connection.Proxy pertanyen a una altra generació. Amb HubConnectionBuilder, manteniu el proxy amb les altres WithUrl opcions de transport en lloc de configurar una sol·licitud HTTP no relacionada.