Nastavte proxy klienta ASP.NET Core SignalR před spuštěním
Nakonfigurujte klienta ASP.NET Core SignalR pomocí HttpConnectionOptions, aby jeho vyjednávání a zvolený přenos měly zamýšlenou trasu.
Před spuštěním klienta ASP.NET Core SignalR nakonfigurujte jeho možnosti připojení:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Tento fragment používá moderního klienta SignalR a System.Net. Spravujte connection během asynchronního životního cyklu aplikace; adresu hubu ponechte jako cíl. Pro povolený test veřejného hubu bez nakonfigurovaných přihlašovacích údajů proxy poskytuje seznam HTTP proxy kandidátní HTTP prostředníky.
| Nastavení přenosu | Kde se proxy uplatní |
|---|---|
| Výchozí chování připojení | HttpConnectionOptions.Proxy vybírá prostředníka; výchozí přenos WebSocket v .NET 8 jej také přiřazuje ClientWebSocketOptions |
HttpMessageHandlerFactory | Přizpůsobuje zpracování HTTP, nikoli připojení WebSocket |
Dodaný WebSocketFactory | vlastní své chování při vytváření a musí použít požadovanou trasu |
Úspěšné vyjednávání nedokazuje, že byl pozdější tunel WebSocket přijat. Pokud vlastní WebSocketFactory používá .NET ClientWebSocket, nakonfigurujte proxy tohoto socketu před připojením. Čtěte diagnostiku přenosu pro poslední dokončený krok a prozkoumejte i každý záměrný záložní přenos.
Starší příklady ASP.NET SignalR, které nastavují Connection.Proxy patří jiné generaci. S HubConnectionBuilder držte proxy u ostatních WithUrl možností přenosu, místo abyste konfigurovali nesouvisející požadavek HTTP.