Ange proxy för en ASP.NET Core SignalR-klient före start
Konfigurera en ASP.NET Core SignalR-klient via HttpConnectionOptions så att förhandlingen och den valda transporten får den avsedda vägen.
Innan du startar en ASP.NET Core SignalR-klient konfigurerar du anslutningsalternativen:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Det här utdraget använder den moderna SignalR-klienten och System.Net. Hantera connection genom applikationens asynkrona livscykel; behåll hubbens URL som mål. För ett tillåtet test av en offentlig hubb utan konfigurerade proxyuppgifter levererar HTTP-proxylistan kandidat-HTTP-mellanhänder.
| Transportinställning | Var proxyn gäller |
|---|---|
| Standardbeteende för anslutning | HttpConnectionOptions.Proxy väljer mellanhanden; .NET 8:s standard-WebSocket-transport tilldelar den även ClientWebSocketOptions |
HttpMessageHandlerFactory | Anpassar HTTP-hantering, inte WebSocket-anslutningar |
En medföljande WebSocketFactory | äger sitt eget skapandebeteende och måste tillämpa sin nödvändiga väg |
En lyckad förhandling bevisar inte att den senare WebSocket-tunneln accepterades. Om en anpassad WebSocketFactory använder .NET ClientWebSocket, konfigurera den socketens proxy innan du ansluter. Läs transportdiagnostiken för det senast slutförda steget och granska även alla avsiktliga reservtransporter.
Äldre ASP.NET SignalR-exempel som anger Connection.Proxy tillhör en annan generation. Med HubConnectionBuilder behåller du proxyn tillsammans med de andra WithUrl transportalternativen i stället för att konfigurera en orelaterad HTTP-begäran.