SocketsHttpHandler Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan handler pesan default yang digunakan oleh HttpClient di .NET Core 2.1 dan yang lebih baru.
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
- Warisan
- Atribut
Keterangan
Dimulai dengan .NET Core 2.1, kelas SocketsHttpHandler
menyediakan implementasi yang digunakan oleh kelas jaringan HTTP tingkat lebih tinggi seperti HttpClient. Penggunaan SocketsHttpHandler
menawarkan sejumlah keuntungan:
Peningkatan performa yang signifikan jika dibandingkan dengan implementasi sebelumnya.
Penghapusan dependensi platform, yang menyederhanakan penyebaran dan layanan. Misalnya,
libcurl
tidak lagi menjadi dependensi pada .NET Core untuk macOS dan .NET Core untuk Linux.Perilaku konsisten di semua platform .NET.
Jika perubahan ini tidak diinginkan dan Anda berada di .NET Core 2.1-3.1, Anda dapat mengonfigurasi aplikasi Anda untuk menggunakan kelas System.Net.Http.HttpClientHandler yang lebih lama sebagai gantinya dengan sejumlah cara:
Dengan memanggil metode AppContext.SetSwitch sebagai berikut:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
Dengan menentukan sakelar
System.Net.Http.UseSocketsHttpHandler
dalam file konfigurasi .netcore.runtimeconfig.json:"runtimeOptions": { "configProperties": { "System.Net.Http.UseSocketsHttpHandler": false } }
Dengan menentukan variabel lingkungan bernama
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
dan mengaturnya kefalse
atau 0.
Opsi konfigurasi ini tidak tersedia dimulai dengan .NET 5.
Konstruktor
SocketsHttpHandler() |
Membuat instans kelas SocketsHttpHandler. |
Properti
ActivityHeadersPropagator |
Mendapatkan atau mengatur penyebar yang akan digunakan saat menyebarkan jejak dan konteks terdistribusi.
Gunakan |
AllowAutoRedirect |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah handler harus mengikuti respons pengalihan. |
AutomaticDecompression |
Mendapatkan atau mengatur jenis metode dekompresi yang digunakan oleh handler untuk dekompresi otomatis respons konten HTTP. |
ConnectCallback |
Mendapatkan atau mengatur panggilan balik kustom yang digunakan untuk membuka koneksi baru. |
ConnectTimeout |
Mendapatkan atau mengatur rentang waktu untuk menunggu sebelum waktu pembuatan koneksi habis. |
CookieContainer |
Mendapatkan atau mengatur objek kontainer cookie terkelola. |
Credentials |
Mendapatkan atau mengatur informasi autentikasi yang digunakan oleh handler ini. |
DefaultProxyCredentials |
Ketika proksi default (sistem) digunakan, mendapatkan atau mengatur kredensial yang digunakan untuk mengirimkan ke server proksi default untuk autentikasi. |
EnableMultipleHttp2Connections |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah koneksi HTTP/2 tambahan dapat dibuat ke server yang sama. |
EnableMultipleHttp3Connections |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah koneksi HTTP/3 tambahan dapat dibuat ke server yang sama. |
Expect100ContinueTimeout |
Mendapatkan atau mengatur nilai waktu habis untuk respons HTTP 100 Lanjutkan server. |
InitialHttp2StreamWindowSize |
Menentukan ukuran jendela penerima aliran HTTP2 awal untuk semua koneksi yang dibuka oleh SocketsHttpHandlerini. |
IsSupported |
Mendapatkan nilai yang menunjukkan apakah handler didukung pada platform saat ini. |
KeepAlivePingDelay |
Mendapatkan atau mengatur penundaan ping tetap hidup. |
KeepAlivePingPolicy |
Mendapatkan atau mengatur perilaku ping tetap hidup. |
KeepAlivePingTimeout |
Mendapatkan atau mengatur batas waktu ping tetap hidup. |
MaxAutomaticRedirections |
Mendapatkan atau mengatur jumlah maksimum pengalihan HTTP yang diizinkan. |
MaxConnectionsPerServer |
Mendapatkan atau mengatur jumlah maksimum koneksi TCP simultan yang diizinkan ke satu server. |
MaxResponseDrainSize |
Mendapatkan atau mengatur jumlah maksimum data yang dapat dikosongkan dari respons dalam byte. |
MaxResponseHeadersLength |
Mendapatkan atau mengatur panjang maksimum, dalam kilobyte (1024 byte), dari header respons. |
MeterFactory |
Mendapatkan atau mengatur IMeterFactory untuk membuat Meter kustom untuk instans SocketsHttpHandler. |
PlaintextStreamFilter |
Mendapatkan atau mengatur panggilan balik kustom yang menyediakan akses ke aliran protokol HTTP teks biasa. |
PooledConnectionIdleTimeout |
Mendapatkan atau mengatur berapa lama koneksi dapat diam di kumpulan untuk dianggap dapat digunakan kembali. |
PooledConnectionLifetime |
Mendapatkan atau mengatur berapa lama koneksi dapat berada di kumpulan untuk dianggap dapat digunakan kembali. |
PreAuthenticate |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah handler mengirim header Otorisasi dengan permintaan. |
Properties |
Mendapatkan kamus yang dapat ditulis (yaitu, peta) properti kustom untuk permintaan HttpClient. Kamus diinisialisasi kosong; Anda dapat menyisipkan dan mengkueri pasangan kunci-nilai untuk penangan kustom dan pemrosesan khusus Anda. |
Proxy |
Mendapatkan atau mengatur proksi kustom saat properti UseProxy |
RequestHeaderEncodingSelector |
Mendapatkan atau mengatur panggilan balik yang memilih Encoding untuk mengodekan nilai header permintaan. |
ResponseDrainTimeout |
Mendapatkan atau mengatur rentang waktu untuk menunggu data dikosongkan dari respons. |
ResponseHeaderEncodingSelector |
Mendapatkan atau mengatur panggilan balik yang memilih Encoding untuk mendekode nilai header respons. |
SslOptions |
Mendapatkan atau mengatur kumpulan opsi yang digunakan untuk autentikasi TLS klien. |
UseCookies |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah handler harus menggunakan cookie. |
UseProxy |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah handler harus menggunakan proksi. |
Metode
Dispose() |
Merilis sumber daya yang tidak dikelola dan membuang sumber daya terkelola yang digunakan oleh HttpMessageHandler. (Diperoleh dari HttpMessageHandler) |
Dispose(Boolean) |
Merilis sumber daya yang tidak dikelola yang digunakan oleh HttpMessageHandler dan secara opsional membuang sumber daya terkelola. (Diperoleh dari HttpMessageHandler) |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
Send(HttpRequestMessage, CancellationToken) |
Saat ditimpa di kelas turunan, mengirim permintaan HTTP dengan token permintaan dan pembatalan yang ditentukan. Jika tidak, melemparkan NotSupportedException. (Diperoleh dari HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
Kirim permintaan HTTP sebagai operasi asinkron. (Diperoleh dari HttpMessageHandler) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |