SocketsHttpHandler Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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 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ımlayarak
System.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 0 olarakfalse
ayarlayarak.
Bu yapılandırma seçenekleri .NET 5 ile başlayarak kullanılamaz.
Oluşturucular
SocketsHttpHandler() |
Sınıfın bir örneğini SocketsHttpHandler 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 |
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 zaman aralığını beklenmesi için 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ı belirten bir değer alır veya ayarlar. |
EnableMultipleHttp3Connections |
tarafından .NET Core 2.1 ve sonraki sürümlerde kullanılan HttpClient varsayılan ileti işleyicisini sağlar. |
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 belirten 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 |
Örneği için özel Meter oluşturmak üzere SocketsHttpHandler öğesini 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üreyle 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 olduğunda UseProxy |
RequestHeaderEncodingSelector |
İstek üst bilgisi değerlerini kodlamak için öğesini seçen Encoding bir geri çağırma alır veya ayarlar. |
ResponseDrainTimeout |
Verilerin yanıtlardan boşaltılmalarını beklemek 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çenekler 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 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) |