ASP.NET Core SignalR müştərisini işə salmazdan əvvəl onun bağlantı parametrlərini konfiqurasiya edin:

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

Bu fraqment müasir SignalR müştərisindən və System.Net-dən istifadə edir. İdarə edin connection tətbiqin async həyat dövrü ərzində; hub URL-ni təyinat kimi saxlayın. Proxy etimadnaməsi konfiqurasiya olunmadan icazəli ictimai hub sınağı üçün HTTP proxy siyahısı namizəd HTTP vasitəçiləri təqdim edir.

Transport quraşdırmasıProxy harada tətbiq olunur
Defolt bağlantı davranışıHttpConnectionOptions.Proxy vasitəçini seçir; .NET 8-in defolt WebSocket transportu onu ClientWebSocketOptions-a da təyin edir
HttpMessageHandlerFactoryHTTP emalını fərdiləşdirir, WebSocket bağlantılarını yox
Təqdim edilmiş WebSocketFactoryyaradılma davranışına sahibdir və tələb olunan marşrutu tətbiq etməlidir

Uğurlu danışıq sonrakı WebSocket tunelinin qəbul edildiyini sübut etmir. Fərdi WebSocketFactory .NET ClientWebSocket istifadə edirsə, həmin socket-in proxy-sini qoşulmazdan əvvəl konfiqurasiya edin. Son tamamlanmış addım üçün transport diaqnostikasını oxuyun və hər hansı qəsdən edilmiş ehtiyat transportu da yoxlayın.

Köhnə ASP.NET SignalR nümunələri Connection.Proxy təyin edilməsi başqa nəslə aiddir. HubConnectionBuilder ilə proxy-ni digər WithUrl transport parametrləri ilə saxlayın, əlaqəsiz HTTP sorğusu konfiqurasiya etməyin.

Əlaqəli məqalələr