Setați proxy-ul unui client ASP.NET Core SignalR înainte de pornire
Configurați un client ASP.NET Core SignalR prin HttpConnectionOptions pentru ca negocierea și transportul ales să aibă ruta dorită.
Î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 transportului | Unde se aplică proxy-ul |
|---|---|
| Comportamentul implicit al conexiunii | HttpConnectionOptions.Proxy selectează intermediarul; transportul WebSocket implicit din .NET 8 îl atribuie și lui ClientWebSocketOptions |
HttpMessageHandlerFactory | Personalizează gestionarea HTTP, nu conexiunile WebSocket |
Un WebSocketFactory | furnizat 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ă.