Înainte de a porni un client ASP.NET Core SignalR, configurați opțiunile de conectare:

var connection = new HubConnectionBuilder()
    .WithUrl("https://events.example/hub", options =>
    {
        options.Proxy = new WebProxy("http://proxy.example:8080");
    })
    .Build();

Acest fragment folosește clientul SignalR modern și System.Net. Gestionați connection pe parcursul ciclului de viață asincron al aplicației; păstrați URL-ul hub-ului ca destinație. Pentru un test de hub public permis fără credențiale de proxy configurate, lista de proxy HTTP furnizează intermediari HTTP candidați.

Configurarea transportuluiUnde se aplică proxy-ul
Comportamentul implicit al conexiuniiHttpConnectionOptions.Proxy selectează intermediarul; transportul WebSocket implicit din .NET 8 îl atribuie și lui ClientWebSocketOptions
HttpMessageHandlerFactoryPersonalizează gestionarea HTTP, nu conexiunile WebSocket
Un WebSocketFactoryfurnizat are propriul comportament de creare și trebuie să aplice ruta necesară

O negociere reușită nu dovedește că tunelul WebSocket ulterior a fost acceptat. Dacă un WebSocketFactory personalizat folosește .NET ClientWebSocket, configurați proxy-ul acelui socket înainte de conectare. Citiți diagnosticele de transport pentru ultimul pas finalizat și inspectați și orice transport de rezervă deliberat.

Exemplele mai vechi ASP.NET SignalR care setează Connection.Proxy aparțin unei alte generații. Cu HubConnectionBuilder, păstrați proxy-ul alături de celelalte WithUrl opțiuni de transport în loc să configurați o cerere HTTP fără legătură.

Articole similare