Bir ASP.NET Core SignalR istemcisini başlatmadan önce bağlantı seçeneklerini yapılandırın:

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

Bu parça modern SignalR istemcisini ve System.Net'i kullanır. Yönetin connection uygulamanın async yaşam döngüsü boyunca; hub URL'sini hedef olarak koruyun. Proxy kimlik bilgileri yapılandırılmadan izin verilen genel bir hub testi için HTTP proxy listesi aday HTTP aracıları sunar.

Taşıma kurulumuProxy'nin geçerli olduğu yer
Varsayılan bağlantı davranışıHttpConnectionOptions.Proxy aracıyı seçer; .NET 8'in varsayılan WebSocket taşıması da bunu ClientWebSocketOptions'a atar
HttpMessageHandlerFactoryHTTP işlemeyi özelleştirir, WebSocket bağlantılarını değil
Sağlanan WebSocketFactorykendi oluşturma davranışına sahiptir ve gerekli rotayı uygulamalıdır

Başarılı bir pazarlık, sonraki WebSocket tünelinin kabul edildiğini kanıtlamaz. Özel bir WebSocketFactory .NET ClientWebSocket kullanıyorsa, bağlanmadan önce o soketin proxy'sini yapılandırın. Son tamamlanan adım için taşıma tanılamasını okuyun ve kasıtlı yedek taşımayı da inceleyin.

Daha eski ASP.NET SignalR örnekleri Connection.Proxy başka bir nesle aittir. HubConnectionBuilder ile proxy'yi diğer WithUrl taşıma seçenekleriyle birlikte tutun, ilgisiz bir HTTP isteği yapılandırmak yerine.

İlgili makaleler