SocketsHttpHandler Sınıf

Tanım

tarafından .NET Core 2.1 ve sonraki sürümlerde kullanılan HttpClient 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 sınıfı SocketsHttpHandler gibi HttpClientüst düzey HTTP ağ sınıfları tarafından kullanılan uygulamayı sağlar. kullanımı SocketsHttpHandler bir dizi avantaj 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 bunun yerine eski System.Net.Http.HttpClientHandler sınıfı kullanacak şekilde yapılandırabilirsiniz:

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

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

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

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

Oluşturucular

SocketsHttpHandler()

Bir SocketsHttpHandler sınıfın ö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. Yaymayı devre dışı bırakmak için kullanın null .

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 olarak 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ğırmayı alır veya ayarlar.

ConnectTimeout

Bağlantının kurulması zaman aşımına uğramadan önce beklemesi için zaman aralığını 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

Var olan tüm bağlantılarda eş zamanlı akış sayısı üst sınırına ulaşıldığında aynı sunucuya ek HTTP/2 bağlantılarının kurulup kurulamayacağını belirten 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

Etkin 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ılacak en fazla 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

Örneği için özel Meter oluşturmak üzere SocketsHttpHandler öğesini alır veya ayarlarIMeterFactory.

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 durabileceğ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üğünü (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

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

RequestHeaderEncodingSelector

İstek üst bilgisi değerlerini kodlamak için öğesini 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 öğesini seçen Encoding 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 bilgileri 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 tarafından HttpMessageHandlerkullanılan yönetilen kaynakları atılır.

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

tarafından HttpMessageHandler 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()

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

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

Geçerli Objectöğesinin sığ 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 dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır