Az ASP.NET Core SignalR ügyfél indítása előtt konfigurálja a kapcsolati beállításokat:

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

Ez a részlet a modern SignalR ügyfelet és a System.Net-et használja. Kezelje connection az alkalmazás aszinkron életciklusa során; tartsa meg a hub URL-t célként. Engedélyezett nyilvános hub-teszthez, beállított proxy hitelesítő adatok nélkül a HTTP proxy lista jelölt HTTP közvetítőket kínál.

Átvitel beállításaHol érvényesül a proxy
Alapértelmezett kapcsolati viselkedésHttpConnectionOptions.Proxy kiválasztja a közvetítőt; a .NET 8 alapértelmezett WebSocket átvitele is hozzárendeli a ClientWebSocketOptions-hoz
HttpMessageHandlerFactoryA HTTP kezelést szabja testre, nem a WebSocket kapcsolatokat
Egy megadott WebSocketFactorysaját létrehozási viselkedéssel rendelkezik, és alkalmaznia kell a szükséges útvonalat

A sikeres egyeztetés nem bizonyítja, hogy a későbbi WebSocket alagutat elfogadták. Ha egy egyéni WebSocketFactory .NET ClientWebSocketet használ, a csatlakozás előtt konfigurálja annak a socketnek a proxyját. Olvassa el az utolsó befejezett lépés átviteli diagnosztikáját, és vizsgálja meg a szándékos tartalék átvitelt is.

A régebbi ASP.NET SignalR példák, amelyek Connection.Proxy beállítást végeznek, más generációhoz tartoznak. A HubConnectionBuilderrel tartsa a proxyt a többi WithUrl átviteli beállításnál, ahelyett hogy egy nem kapcsolódó HTTP-kérést konfigurálna.

Kapcsolódó cikkek