Ustaw serwer proxy klienta ASP.NET Core SignalR przed uruchomieniem
Skonfiguruj klienta ASP.NET Core SignalR przez HttpConnectionOptions, aby jego negocjacje i wybrany transport korzystały z zamierzonej trasy.
Przed uruchomieniem klienta ASP.NET Core SignalR skonfiguruj jego opcje połączenia:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Ten fragment używa nowoczesnego klienta SignalR i System.Net. Zarządzaj connection przez asynchroniczny cykl życia aplikacji; zachowaj adres URL centrum jako cel. W przypadku dozwolonego testu publicznego centrum bez skonfigurowanych poświadczeń serwera proxy lista serwerów proxy HTTP dostarcza kandydatów na pośredników HTTP.
| Konfiguracja transportu | Gdzie działa serwer proxy |
|---|---|
| Domyślne zachowanie połączenia | HttpConnectionOptions.Proxy wybiera pośrednika; domyślny transport WebSocket w .NET 8 również przypisuje go do ClientWebSocketOptions |
HttpMessageHandlerFactory | Dostosowuje obsługę HTTP, a nie połączenia WebSocket |
Dostarczona WebSocketFactory | ma własne zachowanie tworzenia i musi zastosować wymaganą trasę |
Udane negocjacje nie dowodzą, że późniejszy tunel WebSocket został zaakceptowany. Jeśli niestandardowa WebSocketFactory używa .NET ClientWebSocket, skonfiguruj serwer proxy tego gniazda przed połączeniem. Przeczytaj diagnostykę transportu dla ostatniego ukończonego kroku i sprawdź także każdy zamierzony transport zapasowy.
Starsze przykłady ASP.NET SignalR, które ustawiają Connection.Proxy należą do innej generacji. W HubConnectionBuilder trzymaj serwer proxy przy pozostałych WithUrl opcjach transportu, zamiast konfigurować niepowiązane żądanie HTTP.