Share via


PolicyHttpMessageHandler Kelas

Definisi

DelegatingHandler Implementasi yang menjalankan pemrosesan permintaan yang dikelilingi oleh Policy.

public ref class PolicyHttpMessageHandler : System::Net::Http::DelegatingHandler
public class PolicyHttpMessageHandler : System.Net.Http.DelegatingHandler
type PolicyHttpMessageHandler = class
    inherit DelegatingHandler
Public Class PolicyHttpMessageHandler
Inherits DelegatingHandler
Warisan
PolicyHttpMessageHandler

Keterangan

Implementasi handler pesan ini mendukung penggunaan kebijakan yang disediakan oleh pustaka Polly untuk penanganan kesalahan sementara dan ketahanan.

Dokumentasi yang disediakan di sini adalah panduan terfokus untuk menggunakan Polly bersama dengan IHttpClientFactory. Lihat proyek Polly dan dokumentasinya untuk informasi otoritatif tentang Polly.

Metode ekstensi pada PollyHttpClientBuilderExtensions dirancang sebagai cara yang nyaman dan benar untuk membuat PolicyHttpMessageHandler.

Metode ini AddPolicyHandler(IHttpClientBuilder, IAsyncPolicy<HttpResponseMessage>) mendukung pembuatan PolicyHttpMessageHandler untuk segala jenis kebijakan. Ini termasuk kebijakan non-reaktif, seperti Timeout atau Cache, yang tidak mengharuskan permintaan yang mendasar gagal terlebih dahulu.

PolicyHttpMessageHandlerPollyHttpClientBuilderExtensions dan metode kenyamanan hanya menerima generik IAsyncPolicy`1. Instans kebijakan generik dapat dibuat dengan menggunakan metode generik seperti PolicyTimeoutAsync``1(System.Int32).

Untuk menyesuaikan non-generik IAsyncPolicyyang ada, gunakan kode seperti berikut:

policy.AsAsyncPolicy<HttpResponseMessage>()

Metode AddTransientHttpErrorPolicy(IHttpClientBuilder, Func<PolicyBuilder<HttpResponseMessage>,IAsyncPolicy<HttpResponseMessage>>) ini adalah metode kenyamanan berpendapat yang mendukung penerapan kebijakan untuk permintaan yang gagal karena kegagalan koneksi atau kesalahan server (kode status HTTP 5XX). Metode semacam ini hanya mendukung kebijakan reaktif seperti Coba Lagi, Circuit-Breaker atau Fallback. Metode ini hanya disediakan untuk kenyamanan; sebaiknya buat kebijakan Anda sendiri sesuai kebutuhan jika ini tidak memenuhi kebutuhan Anda.

Berhati-hatilah saat menggunakan kebijakan seperti Coba Lagi atau Waktu Habis bersama-sama, karena HttpClient menyediakan batas waktunya sendiri melalui Timeout. Saat menggabungkan Coba Lagi dan Waktu Habis, Timeout akan bertindak sebagai batas waktu di semua percobaan; kebijakan Batas Waktu Polly dapat dikonfigurasi setelah kebijakan Coba Lagi dalam urutan konfigurasi, untuk memberikan batas waktu per percobaan.

Semua kebijakan yang disediakan oleh Polly dirancang agar efisien jika digunakan dengan cara yang berumur panjang. Kebijakan tertentu seperti Bulkhead dan Circuit-Breaker mempertahankan status dan harus dicakup di seluruh panggilan yang ingin Anda bagikan status Bulkhead atau Circuit-Breaker. Berhati-hatilah untuk memastikan masa pakai yang benar saat menggunakan kebijakan dan penangan pesan bersama-sama dalam skenario kustom. Metode ekstensi yang disediakan oleh PollyHttpClientBuilderExtensions dirancang untuk menetapkan masa pakai yang lama untuk kebijakan dan memastikan bahwa metode tersebut dapat digunakan saat fitur rotasi handler aktif.

PolicyHttpMessageHandler akan melampirkan konteks ke HttpRequestMessage sebelum mengeksekusi Policy, jika belum ada. Context akan diberikan kepada kebijakan untuk digunakan di dalam Policy dan di penangan pesan lainnya.

Konstruktor

PolicyHttpMessageHandler(Func<HttpRequestMessage,IAsyncPolicy<HttpResponseMessage>>)

Membuat baru PolicyHttpMessageHandler.

PolicyHttpMessageHandler(IAsyncPolicy<HttpResponseMessage>)

Membuat baru PolicyHttpMessageHandler.

Properti

InnerHandler

Mendapatkan atau mengatur handler dalam yang memproses pesan respons HTTP.

(Diperoleh dari DelegatingHandler)

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 digunakan oleh DelegatingHandler, dan secara opsional membuang sumber daya terkelola.

(Diperoleh dari DelegatingHandler)
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 dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
Send(HttpRequestMessage, CancellationToken)

Mengirim permintaan HTTP ke handler dalam untuk dikirim ke server.

(Diperoleh dari DelegatingHandler)
SendAsync(HttpRequestMessage, CancellationToken)

Mengirim permintaan HTTP ke handler dalam untuk dikirim ke server sebagai operasi asinkron.

SendCoreAsync(HttpRequestMessage, Context, CancellationToken)

Dipanggil di dalam eksekusi Policy untuk melakukan pemrosesan permintaan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk