Sebelum memulai klien ASP.NET Core SignalR, konfigurasikan opsi koneksinya:

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

Fragmen ini memakai klien SignalR modern dan System.Net. Kelola connection melalui siklus hidup async aplikasi; pertahankan URL hub sebagai tujuan. Untuk uji hub publik yang diizinkan tanpa kredensial proxy yang dikonfigurasi, daftar proxy HTTP menyediakan calon perantara HTTP.

Penyiapan transportDi mana proxy berlaku
Perilaku koneksi defaultHttpConnectionOptions.Proxy memilih perantara; transport WebSocket default .NET 8 juga menetapkannya ke ClientWebSocketOptions
HttpMessageHandlerFactoryMenyesuaikan penanganan HTTP, bukan koneksi WebSocket
Sebuah WebSocketFactoryyang disediakan memiliki perilaku pembuatannya sendiri dan harus menerapkan rute yang diperlukan

Negosiasi yang berhasil tidak membuktikan bahwa terowongan WebSocket berikutnya diterima. Jika WebSocketFactory kustom memakai .NET ClientWebSocket, konfigurasikan proxy socket itu sebelum terhubung. Baca diagnostik transport untuk langkah terakhir yang selesai dan periksa juga transport cadangan yang disengaja.

Contoh ASP.NET SignalR yang lebih lama yang mengatur Connection.Proxy milik generasi lain. Dengan HubConnectionBuilder, pertahankan proxy bersama opsi WithUrl transport lainnya alih-alih mengonfigurasi permintaan HTTP yang tidak terkait.

Artikel terkait