Налаштуйте проксі клієнта ASP.NET Core SignalR перед запуском
Налаштуйте клієнт ASP.NET Core SignalR через HttpConnectionOptions, щоб його узгодження та вибраний транспорт ішли потрібним маршрутом.
Перед запуском клієнта ASP.NET Core SignalR налаштуйте параметри його підключення:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Цей фрагмент використовує сучасний клієнт SignalR і System.Net. Керуйте connection протягом асинхронного життєвого циклу застосунку; залиште URL концентратора як пункт призначення. Для дозволеного тесту загальнодоступного концентратора без налаштованих облікових даних проксі список HTTP-проксі пропонує відповідних HTTP-посередників.
| Налаштування транспорту | Де діє проксі |
|---|---|
| Поведінка підключення за замовчуванням | HttpConnectionOptions.Proxy вибирає посередника; транспорт WebSocket за замовчуванням у .NET 8 також призначає його ClientWebSocketOptions |
HttpMessageHandlerFactory | Налаштовує обробку HTTP, а не підключення WebSocket |
Передана WebSocketFactory | має власну поведінку створення і повинна застосувати потрібний маршрут |
Успішне узгодження не доводить, що подальший тунель WebSocket було прийнято. Якщо користувацька WebSocketFactory використовує .NET ClientWebSocket, налаштуйте проксі цього сокета перед підключенням. Читайте діагностику транспорту для останнього завершеного кроку та перевіряйте також будь-який навмисний резервний транспорт.
Старіші приклади ASP.NET SignalR, які задають Connection.Proxy належать до іншого покоління. З HubConnectionBuilder тримайте проксі разом з іншими WithUrl параметрами транспорту, а не налаштовуйте не пов'язаний запит HTTP.