SocketsHttpHandler Sınıf

Tanım

.NET Core 2.1 ve sonraki sürümlerde HttpClient tarafından kullanılan varsayılan ileti işleyicisini sağlar.

public ref class SocketsHttpHandler sealed : System::Net::Http::HttpMessageHandler
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type SocketsHttpHandler = class
    inherit HttpMessageHandler
type SocketsHttpHandler = class
    inherit HttpMessageHandler
Public NotInheritable Class SocketsHttpHandler
Inherits HttpMessageHandler
Devralma
SocketsHttpHandler
Öznitelikler

Açıklamalar

.NET Core 2.1'den başlayarak SocketsHttpHandler sınıfı, HttpClientgibi üst düzey HTTP ağ sınıfları tarafından kullanılan uygulamayı sağlar. SocketsHttpHandler kullanımı çeşitli avantajlar sunar:

  • Önceki uygulamayla karşılaştırıldığında önemli bir performans artışı.

  • Dağıtım ve bakımı basitleştiren platform bağımlılıklarının ortadan kaldırılması. Örneğin libcurl artık macOS için .NET Core ve Linux için .NET Core bağımlılığı değildir.

  • Tüm .NET platformları genelinde tutarlı davranış.

Bu değişiklik istenmeyen bir durumsa ve .NET Core 2.1-3.1 kullanıyorsanız, uygulamanızı çeşitli yollarla yerine eski System.Net.Http.HttpClientHandler sınıfını kullanacak şekilde yapılandırabilirsiniz:

  • AppContext.SetSwitch yöntemini aşağıdaki gibi çağırarak:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • .netcore.runtimeconfig.json yapılandırma dosyasında System.Net.Http.UseSocketsHttpHandler anahtarını tanımlayarak:

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER adlı bir ortam değişkeni tanımlayıp false veya 0 olarak ayarlayarak.

Bu yapılandırma seçenekleri .NET 5 ile başlayarak kullanılamaz.

Oluşturucular

SocketsHttpHandler()

SocketsHttpHandler sınıfının bir örneğini oluşturur.

Özellikler

ActivityHeadersPropagator

Dağıtılmış izleme ve bağlam yayılırken kullanılacak yayıcıyı alır veya ayarlar. Yayma özelliğini devre dışı bırakmak için null kullanın.

AllowAutoRedirect

İşleyicinin yeniden yönlendirme yanıtlarını izlemesi gerekip gerekmediğini belirten bir değer alır veya ayarlar.

AutomaticDecompression

İŞleyici tarafından HTTP içerik yanıtının otomatik sıkıştırmasını açmak için kullanılan sıkıştırma yönteminin türünü alır veya ayarlar.

ConnectCallback

Yeni bağlantıları açmak için kullanılan özel bir geri çağırma alır veya ayarlar.

ConnectTimeout

Bağlantı kurulmadan önce zaman aralığını beklemeye alır veya ayarlar.

CookieContainer

Yönetilen tanımlama bilgisi kapsayıcı nesnesini alır veya ayarlar.

Credentials

Bu işleyici tarafından kullanılan kimlik doğrulama bilgilerini alır veya ayarlar.

DefaultProxyCredentials

Varsayılan (sistem) ara sunucusu kullanıldığında, kimlik doğrulaması için varsayılan ara sunucuya göndermek için kullanılan kimlik bilgilerini alır veya ayarlar.

EnableMultipleHttp2Connections

Aynı sunucuya ek HTTP/2 bağlantılarının kurulup kurulamayacağını gösteren bir değer alır veya ayarlar.

EnableMultipleHttp3Connections

Aynı sunucuya ek HTTP/3 bağlantılarının kurulup kurulamayacağını gösteren bir değer alır veya ayarlar.

Expect100ContinueTimeout

SUNUCU HTTP 100 Devam yanıtı için zaman aşımı değerini alır veya ayarlar.

InitialHttp2StreamWindowSize

Bu SocketsHttpHandlertarafından açılan tüm bağlantılar için ilk HTTP2 akışı alma penceresi boyutunu tanımlar.

IsSupported

İşleyicinin geçerli platformda desteklenip desteklenmediğini gösteren bir değer alır.

KeepAlivePingDelay

Canlı tutma ping gecikmesini alır veya ayarlar.

KeepAlivePingPolicy

Canlı tutma ping davranışını alır veya ayarlar.

KeepAlivePingTimeout

Etkin tutma ping zaman aşımını alır veya ayarlar.

MaxAutomaticRedirections

İzin verilen en fazla HTTP yeniden yönlendirme sayısını alır veya ayarlar.

MaxConnectionsPerServer

Tek bir sunucuya izin verilen en fazla eşzamanlı TCP bağlantısı sayısını alır veya ayarlar.

MaxResponseDrainSize

Yanıtlardan bayt cinsinden boşaltılabilir maksimum veri miktarını alır veya ayarlar.

MaxResponseHeadersLength

Yanıt üst bilgilerinin kilobayt (1024 bayt) cinsinden uzunluk üst sınırını alır veya ayarlar.

MeterFactory

SocketsHttpHandler örneği için özel bir Meter oluşturmak için IMeterFactory alır veya ayarlar.

PlaintextStreamFilter

Düz metin HTTP protokolü akışına erişim sağlayan özel bir geri çağırma alır veya ayarlar.

PooledConnectionIdleTimeout

Yeniden kullanılabilir olarak kabul edilecek bir bağlantının havuzda ne kadar süre boşta olabileceğini alır veya ayarlar.

PooledConnectionLifetime

Bir bağlantının havuzda ne kadar süreyle yeniden kullanılabilir olarak kabul edilebileceğini alır veya ayarlar.

PreAuthenticate

İşleyicinin istekle bir Yetkilendirme üst bilgisi gönderip göndermediğini belirten bir değer alır veya ayarlar.

Properties

HttpClient istekleri için özel özelliklerin yazılabilir bir sözlüğü (bir eşleme) alır. Sözlük boş başlatılır; özel işleyicileriniz ve özel işlemeniz için anahtar-değer çiftleri ekleyebilir ve sorgulayabilirsiniz.

Proxy

UseProxy özelliği trueolduğunda özel ara sunucuyu alır veya ayarlar.

RequestHeaderEncodingSelector

İstek üst bilgisi değerlerini kodlamak için Encoding seçen bir geri çağırma alır veya ayarlar.

ResponseDrainTimeout

Verilerin yanıtlardan boşaltılması için zaman aralığını alır veya ayarlar.

ResponseHeaderEncodingSelector

Yanıt üst bilgisi değerlerinin kodunu çözmek için Encoding seçen bir geri çağırma alır veya ayarlar.

SslOptions

İstemci TLS kimlik doğrulaması için kullanılan seçenek kümesini alır veya ayarlar.

UseCookies

İşleyicinin tanımlama bilgilerini kullanıp kullanmayacağını belirten bir değer alır veya ayarlar.

UseProxy

İşleyicinin ara sunucu kullanıp kullanmayacağını belirten bir değer alır veya ayarlar.

Yöntemler

Dispose()

Yönetilmeyen kaynakları serbest bırakır ve HttpMessageHandlertarafından kullanılan yönetilen kaynakları atılır.

(Devralındığı yer: HttpMessageHandler)
Dispose(Boolean)

HttpMessageHandler tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atılır.

(Devralındığı yer: HttpMessageHandler)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Send(HttpRequestMessage, CancellationToken)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen istek ve iptal belirteciyle bir HTTP isteği gönderir. Aksi takdirde, bir NotSupportedExceptionoluşturur.

(Devralındığı yer: HttpMessageHandler)
SendAsync(HttpRequestMessage, CancellationToken)

Http isteğini zaman uyumsuz bir işlem olarak gönderin.

(Devralındığı yer: HttpMessageHandler)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır