Atur proxy klien ASP.NET Core SignalR sebelum startup
Konfigurasikan klien ASP.NET Core SignalR melalui HttpConnectionOptions agar negosiasi dan transport yang dipilih memiliki rute yang dimaksud.
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 transport | Di mana proxy berlaku |
|---|---|
| Perilaku koneksi default | HttpConnectionOptions.Proxy memilih perantara; transport WebSocket default .NET 8 juga menetapkannya ke ClientWebSocketOptions |
HttpMessageHandlerFactory | Menyesuaikan penanganan HTTP, bukan koneksi WebSocket |
Sebuah WebSocketFactory | yang 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.