WinHttpHandler 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.
İletileri Windows'un WinHTTP arabirimine göre işler. Bu sınıf, sunucu ortamlarında kullanılmak üzere tasarlanmıştır.
public ref class WinHttpHandler : System::Net::Http::HttpMessageHandler
public class WinHttpHandler : System.Net.Http.HttpMessageHandler
type WinHttpHandler = class
inherit HttpMessageHandler
Public Class WinHttpHandler
Inherits HttpMessageHandler
- Devralma
Açıklamalar
WinHttpHandler gibi HttpClientHandlerdiğer mevcut sınıflara benzer. WinHttpHandler bir örneğin altında bir işleyici sağlar ve bir HttpClient sunucuya HTTP istekleri göndermek ve sunucu yanıtlarını almak için kullanılır. Uygulama, WinHttpHandler HTTP/2'ye kadar OLAN HTTP sürümlerini destekler.
WinHttpHandler geliştiricilere uygulamanın HTTP iletişimi HttpClientHandler üzerinde sınıftan daha ayrıntılı denetim sağlar. Bu, geliştiricilerin daha gelişmiş HTTP senaryoları uygulamasına veya sistem varsayılanlarını değiştirmesine (örneğin ara sunucu ayarları, zaman aşımları ve sunucu SSL sertifikası doğrulaması) olanak tanır.
WinHttpHandler öğesinin yerine HttpClientHandlergeçecek şekilde tasarlanmamıştır. Bunun yerine, yetersiz olduğu HttpClientHandler senaryolar için sağlanan daha gelişmiş bir sürümdür. WinHttpHandler , Windows'un WinHTTP arabiriminde ince bir sarmalayıcı olarak uygulanır ve yalnızca Windows sistemlerinde desteklenir.
Birden çok işleyiciden oluşan bir zincir kullanılırken, WinHttpHandler zincirin en altında olmalıdır.
.NET 5'den başlayarak, WinHttpHandler artık .NET çalışma zamanının bir parçası olarak System.Net.Http.dll derlemesine dahil değildir. Daha fazla bilgi için bkz. WinHttpHandler .NET çalışma zamanından kaldırıldı.
Sondaki üst bilgiler
Sürüm 6.0.0'dan başlayarak, WinHttpHandler fragman olarak da bilinen sondaki üst bilgileri destekler (RFC 7230 - 4.1.2). Öbekli Treyler Bölümü).
- .NET Standard 2.1 ve .NET 8 veya sonraki sürümlerinde, fragmanlar öğesine TrailingHeaderseklenir.
- .NET Framework'te HttpRequestMessage.Properties , içindeki iyi bilinen bir özelliğe yanıta (HttpResponseMessage.RequestMessage ) karşılık gelen istek nesnesine fragmanlar eklenir. Özelliğin adı,
__ResponseTrailersözellik değerinin türü şeklindedir HttpHeaders.
Fragman desteği, WINHTTP_QUERY_FLAG_TRAILERS Windows 11, sürüm 21H2'de (10.0; Derleme 22000). Desteklenmeyen WINHTTP_QUERY_FLAG_TRAILERS Windows sistemlerinde, fragmanlar yoksayılır.
Oluşturucular
| Name | Description |
|---|---|
| WinHttpHandler() |
WinHttpHandler sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| 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. |
| AutomaticRedirection |
İşleyicinin HTTP yeniden yönlendirme yanıtlarını izlemesi gerekip gerekmediğini belirten bir değer alır veya ayarlar. |
| CheckCertificateRevocationList |
SSL sertifika doğrulaması sırasında sertifikaların iptal listesinin denetlenip denetlenmeyeceğini belirten bir değer alır veya ayarlar. |
| ClientCertificateOption |
Sertifikanın sertifika deposundan otomatik olarak seçildiğini veya çağıranın belirli bir istemci sertifikasını geçirmesine izin verilip verilmediğini belirten bir değer alır veya ayarlar. |
| ClientCertificates |
özelliği olarak ayarlandıysa |
| CookieContainer |
Yönetilen tanımlama bilgisi kapsayıcı nesnesini alır veya ayarlar. Bu özellik yalnızca özellik UseSpecifiedCookieContainer olarak ayarlandığında kullanılır CookieUsePolicy . Aksi takdirde yöntemi SendAsync(HttpRequestMessage, CancellationToken) bir özel durum oluşturur. |
| CookieUsePolicy |
Tanımlama bilgilerinin nasıl yönetilmesi ve kullanılması gerektiğini gösteren bir değer alır veya ayarlar. Geliştiriciler tanımlama bilgilerini yoksaymayı, işleyicinin bunları otomatik olarak yönetmesine veya bir CookieContainer nesne kullanarak el ile işlemesine izin vermeyi seçebilir. |
| 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 |
Tüm mevcut 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ı gösteren bir değer 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 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. |
| PreAuthenticate |
İşleyicinin istekle bir Yetkilendirme üst bilgisi gönderip göndermediğini belirten bir değer alır veya ayarlar. |
| Properties |
İstekler için HttpClient özel özelliklerden oluşan yazılabilir bir sözlük (yani bir harita) 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 |
Özellik özel ara sunucu WindowsProxyUsePolicy kullanacak şekilde ayarlandığında özel proxy'yi alır veya ayarlar. |
| ReceiveDataTimeout |
Sunucudan yanıtın veri bölümünü almak için zaman aşımını alır veya ayarlar. |
| ReceiveHeadersTimeout |
Sunucudan yanıtın üst bilgilerini almak için zaman aşımını alır veya ayarlar. |
| SendTimeout |
İstek göndermek için zaman aşımını alır veya ayarlar. |
| ServerCertificateValidationCallback |
Sunucu sertifikasını doğrulamak için bir geri çağırma yöntemi alır veya ayarlar. Bu geri arama, SSL el sıkışmasının bir parçasıdır. |
| ServerCredentials |
İstemci tarafından sunucuda kimlik doğrulaması yapmak için kullanılacak kimlik bilgilerini alır veya ayarlar. |
| SslProtocols |
İstemci tarafından desteklenen TLS/SSL protokolleri koleksiyonunu alır veya ayarlar. |
| TcpKeepAliveEnabled |
TCP etkin tutma özelliğinin etkin olup olmadığını belirten bir değer alır veya ayarlar. |
| TcpKeepAliveInterval |
TCP etkin tutma aralığını alır veya ayarlar. |
| TcpKeepAliveTime |
TCP etkin tutma zaman aşımını alır veya ayarlar. |
| WindowsProxyUsePolicy |
Proxy ayarını alır veya ayarlar. Bu özellik ara sunucuyu devre dışı bırakmak, özel bir ara sunucu kullanmak veya makinede WinHTTP veya WinInet proxy ayarlarını kullanmak için ayarlanabilir. |
Yöntemler
| Name | Description |
|---|---|
| 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 WinHttpHandlerkullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atılır. |
| 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) |
| SendAsync(HttpRequestMessage, CancellationToken) |
Http isteğini zaman uyumsuz bir işlem olarak gönderir. |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |