Nastavte proxy klienta ASP.NET Core SignalR pred spustením
Nakonfigurujte klienta ASP.NET Core SignalR cez HttpConnectionOptions, aby jeho vyjednávanie a zvolený prenos mali zamýšľanú trasu.
Pred spustením klienta ASP.NET Core SignalR nakonfigurujte jeho možnosti pripojenia:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Tento fragment používa moderného klienta SignalR a System.Net. Spravujte connection počas asynchrónneho životného cyklu aplikácie; adresu hubu ponechajte ako cieľ. Pre povolený test verejného hubu bez nakonfigurovaných prihlasovacích údajov proxy poskytuje zoznam HTTP proxy kandidátskych HTTP sprostredkovateľov.
| Nastavenie prenosu | Kde sa proxy uplatňuje |
|---|---|
| Predvolené správanie pripojenia | HttpConnectionOptions.Proxy vyberá sprostredkovateľa; predvolený prenos WebSocket v .NET 8 ho tiež priraďuje ClientWebSocketOptions |
HttpMessageHandlerFactory | Prispôsobuje spracovanie HTTP, nie pripojenia WebSocket |
Dodaný WebSocketFactory | vlastní svoje správanie pri vytváraní a musí použiť požadovanú trasu |
Úspešné vyjednávanie nedokazuje, že neskorší tunel WebSocket bol prijatý. Ak vlastný WebSocketFactory používa .NET ClientWebSocket, nakonfigurujte proxy tohto socketu pred pripojením. Čítajte diagnostiku prenosu pre posledný dokončený krok a preskúmajte aj každý zámerný záložný prenos.
Staršie príklady ASP.NET SignalR, ktoré nastavujú Connection.Proxy patria inej generácii. S HubConnectionBuilder držte proxy pri ostatných WithUrl možnostiach prenosu namiesto konfigurovania nesúvisiacej požiadavky HTTP.