Ennen ASP.NET Core SignalR -asiakkaan käynnistämistä määritä sen yhteysasetukset:

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

Tämä katkelma käyttää nykyaikaista SignalR-asiakasta ja System.Netiä. Hallinnoi connection sovelluksen asynkronisen elinkaaren aikana; pidä hubin URL kohdeosoitteena. Sallittua julkisen hubin testiä varten ilman määritettyjä välityspalvelimen tunnuksia HTTP-välityspalvelinlista tarjoaa ehdokas-HTTP-välittäjiä.

Siirron määritysMissä välityspalvelin vaikuttaa
Yhteyden oletuskäyttäytyminenHttpConnectionOptions.Proxy valitsee välittäjän; .NET 8:n oletusarvoinen WebSocket-siirto määrittää sen myös ClientWebSocketOptionsille
HttpMessageHandlerFactoryMukauttaa HTTP-käsittelyä, ei WebSocket-yhteyksiä
Toimitettu WebSocketFactoryomistaa luontikäyttäytymisensä ja sen on sovellettava vaadittu reitti

Onnistunut neuvottelu ei todista, että myöhempi WebSocket-tunneli hyväksyttiin. Jos mukautettu WebSocketFactory käyttää .NET ClientWebSocketia, määritä kyseisen socketin välityspalvelin ennen yhdistämistä. Lue viimeksi valmistuneen vaiheen siirtodiagnostiikka ja tarkastele myös kaikkia tarkoituksellisia varasiirtoja.

Vanhemmat ASP.NET SignalR -esimerkit, jotka asettavat Connection.Proxy kuuluvat toiseen sukupolveen. Pidä HubConnectionBuilderin kanssa välityspalvelin muiden WithUrl siirtoasetusten yhteydessä sen sijaan, että määrittäisit siihen liittymättömän HTTP-pyynnön.

Aiheeseen liittyvät artikkelit