Pred zagonom odjemalca ASP.NET Core SignalR konfigurirajte njegove možnosti povezave:

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

Ta delček uporablja sodobnega odjemalca SignalR in System.Net. Upravljajte connection skozi asinhroni življenjski cikel aplikacije; ohranite URL vozlišča kot cilj. Za dovoljen test javnega vozlišča brez konfiguriranih proxy poverilnic seznam proxy strežnikov HTTP ponuja kandidatne posrednike HTTP.

Nastavitev prenosaKje velja proxy
Privzeto vedenje povezaveHttpConnectionOptions.Proxy izbere posrednika; privzeti prenos WebSocket v .NET 8 ga dodeli tudi ClientWebSocketOptions
HttpMessageHandlerFactoryPrilagodi obdelavo HTTP, ne povezav WebSocket
Priskrbljeni WebSocketFactoryima lastno vedenje ustvarjanja in mora uporabiti zahtevano pot

Uspešno pogajanje ne dokazuje, da je bil poznejši tunel WebSocket sprejet. Če WebSocketFactory po meri uporablja .NET ClientWebSocket, konfigurirajte proxy te vtičnice pred povezavo. Preberite diagnozo prenosa za zadnji dokončani korak in preglejte tudi vsak namerni rezervni prenos.

Starejši primeri ASP.NET SignalR, ki nastavljajo Connection.Proxy pripadajo drugi generaciji. Pri HubConnectionBuilderju ohranite proxy pri drugih WithUrl možnostih prenosa, namesto da konfigurirate nepovezano zahtevo HTTP.

Sorodni članki