Bagikan melalui


SocketsHttpHandler Kelas

Definisi

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
SocketsHttpHandler
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 atau false 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 null untuk menonaktifkan propagasi.

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 true.

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)

Berlaku untuk