ASP.NET Core SignalR mijozini ishga tushirishdan oldin uning ulanish parametrlarini sozlang:

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

Bu parcha zamonaviy SignalR mijozi va System.Net dan foydalanadi. Boshqaring connection ilovaning async hayot sikli davomida; hub URL manzilini manzil sifatida saqlang. Proksi hisob ma'lumotlari sozlanmagan ruxsat etilgan ommaviy hub sinovi uchun HTTP proksi ro'yxati nomzod HTTP vositachilarini taqdim etadi.

Transportni sozlashProksi qayerda amal qiladi
Standart ulanish xatti-harakatiHttpConnectionOptions.Proxy vositachini tanlaydi; .NET 8 standart WebSocket transporti ham uni ClientWebSocketOptions ga tayinlaydi
HttpMessageHandlerFactoryHTTP ishlovini moslashtiradi, WebSocket ulanishlarini emas
Taqdim etilgan WebSocketFactoryo'zining yaratish xatti-harakati bor va talab qilingan yo'lni qo'llashi kerak

Muvaffaqiyatli muzokara keyingi WebSocket tuneli qabul qilinganini isbotlamaydi. Agar maxsus WebSocketFactory .NET ClientWebSocket dan foydalansa, ulanishdan oldin o'sha socket proksisini sozlang. Oxirgi tugallangan qadam uchun transport diagnostikasini o'qing va ataylab qoldirilgan har qanday zaxira transportni ham tekshiring.

Eski ASP.NET SignalR misollari Connection.Proxy boshqa avlodga tegishli. HubConnectionBuilder bilan proksini boshqa WithUrl transport parametrlari bilan birga saqlang, aloqasiz HTTP so'rovini sozlamang.

O'xshash maqolalar