Перад запускам кліента 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 праз асінхронны жыццёвы цыкл праграмы; пакіньце адрас hub як пункт прызначэння. Для дазволенага тэсту публічнага hub без наладжаных уліковых даных проксі спіс HTTP-проксі прапануе патэнцыйных HTTP-пасрэднікаў.

Налада транспартуДзе дзейнічае проксі
Паводзіны падключэння па змаўчанніHttpConnectionOptions.Proxy выбірае пасрэдніка; транспарт WebSocket па змаўчанні ў .NET 8 таксама прызначае яго ClientWebSocketOptions
HttpMessageHandlerFactoryНаладжвае апрацоўку HTTP, а не злучэнні WebSocket
Перададзены WebSocketFactoryвалодае сваімі паводзінамі стварэння і павінен ужыць патрэбны маршрут

Паспяховыя перамовы не даказваюць, што наступны тунель WebSocket быў прыняты. Калі ўласны WebSocketFactory выкарыстоўвае .NET ClientWebSocket, наладзьце проксі гэтага сокета перад падключэннем. Чытайце дыягностыку транспарту для апошняга завершанага кроку і праверце таксама любы наўмысны рэзервовы транспарт.

Старыя прыклады ASP.NET SignalR, якія задаюць Connection.Proxy належаць іншаму пакаленню. З HubConnectionBuilder трымайце проксі разам з іншымі WithUrl параметрамі транспарту, а не наладжвайце непатрэбны HTTP-запыт.

Падобныя артыкулы