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 penangan 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, SocketsHttpHandler
kelas menyediakan implementasi yang digunakan oleh kelas jaringan HTTP tingkat lebih tinggi seperti HttpClient. Penggunaan SocketsHttpHandler
penawaran sejumlah keuntungan:
Peningkatan performa yang signifikan jika dibandingkan dengan implementasi sebelumnya.
Penghapusan dependensi platform, yang menyederhanakan penyebaran dan layanan. Misalnya,
libcurl
bukan lagi 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 yang lebih System.Net.Http.HttpClientHandler lama sebagai gantinya dengan sejumlah cara:
Dengan memanggil AppContext.SetSwitch metode 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 menjadi ataufalse
0.
Opsi konfigurasi ini tidak tersedia dimulai dengan .NET 5.
Konstruktor
SocketsHttpHandler() |
Membuat instans SocketsHttpHandler kelas. |
Properti
ActivityHeadersPropagator |
Mendapatkan atau mengatur penyebar untuk 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 koneksi membuat waktu 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 |
Menyediakan penangan pesan default yang digunakan oleh HttpClient di .NET Core 2.1 dan yang lebih baru. |
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 ini SocketsHttpHandler. |
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 kustom Meter untuk SocketsHttpHandler instans. |
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 agar 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 UseProxy properti adalah |
RequestHeaderEncodingSelector |
Mendapatkan atau mengatur panggilan balik yang memilih nilai header permintaan untuk dikodekan Encoding . |
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 tidak terkelola yang HttpMessageHandler digunakan oleh 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 instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
Send(HttpRequestMessage, CancellationToken) |
Saat ditimpa di kelas turunan, kirim permintaan HTTP dengan token permintaan dan pembatalan yang ditentukan. Jika tidak, melempar .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) |