Nustatykite ASP.NET Core SignalR kliento tarpinį serverį prieš paleidimą
Sukonfigūruokite ASP.NET Core SignalR klientą per HttpConnectionOptions, kad jo derybos ir pasirinktas transportas eitų numatytu maršrutu.
Prieš paleisdami ASP.NET Core SignalR klientą, sukonfigūruokite jo ryšio parinktis:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Šis fragmentas naudoja šiuolaikinį SignalR klientą ir System.Net. Valdykite connection per asinchroninį programos gyvavimo ciklą; palikite hub URL kaip paskirties vietą. Leidžiamam viešo hub testo atvejui be sukonfigūruotų tarpinio serverio prisijungimo duomenų HTTP tarpinių serverių sąrašas siūlo galimus HTTP tarpininkus.
| Transporto sąranka | Kur taikomas tarpinis serveris |
|---|---|
| Numatytasis ryšio elgesys | HttpConnectionOptions.Proxy pasirenka tarpininką; .NET 8 numatytasis WebSocket transportas taip pat priskiria jį ClientWebSocketOptions |
HttpMessageHandlerFactory | Tinkina HTTP apdorojimą, o ne WebSocket ryšius |
Pateiktas WebSocketFactory | turi savo kūrimo elgesį ir turi taikyti reikiamą maršrutą |
Sėkmingos derybos neįrodo, kad vėlesnis WebSocket tunelis buvo priimtas. Jei pasirinktinis WebSocketFactory naudoja .NET ClientWebSocket, sukonfigūruokite to lizdo tarpinį serverį prieš prisijungdami. Skaitykite paskutinio užbaigto veiksmo transporto diagnostiką ir patikrinkite bet kokį sąmoningą atsarginį transportą.
Senesni ASP.NET SignalR pavyzdžiai, kurie nustato Connection.Proxy priklauso kitai kartai. Naudodami HubConnectionBuilder laikykite tarpinį serverį prie kitų WithUrl transporto parinkčių, o ne konfigūruokite nesusijusią HTTP užklausą.