Bagikan melalui


SocketsHttpHandler Kelas

Definisi

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
SocketsHttpHandler
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 ke false 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 null untuk menonaktifkan penyebaran.

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

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)

Berlaku untuk