WinHttpHandler 類別

定義

依據 Windows 的 WinHTTP 介面處理訊息。 此類別為伺服器環境而設計。

public ref class WinHttpHandler : System::Net::Http::HttpMessageHandler
public class WinHttpHandler : System.Net.Http.HttpMessageHandler
type WinHttpHandler = class
    inherit HttpMessageHandler
Public Class WinHttpHandler
Inherits HttpMessageHandler
繼承
WinHttpHandler

備註

WinHttpHandler 類似于其他現有的類別,例如 HttpClientHandlerWinHttpHandler 提供 實例底下的 HttpClient 處理常式,並用來將 HTTP 要求傳送至伺服器並接收伺服器回應。 實作 WinHttpHandler 支援最多 HTTP/2 的 HTTP 版本。

WinHttpHandler是設計成主要用於伺服器環境中,ASP.NET Core和其他與 HTTP 伺服器通訊的 .NET 應用程式。 WinHttpHandler 也提供開發人員比 類別更細微地控制應用程式的 HTTP 通訊 HttpClientHandler 。 這可讓開發人員實作更進階的 HTTP 案例或修改系統預設值 (,例如 Proxy 設定、逾時和伺服器 SSL 憑證驗證) 。

WinHttpHandler 不打算取代 HttpClientHandler 。 相反地,它是針對不足案例 HttpClientHandler 提供的更進階版本。 WinHttpHandler 會在 Windows 的 WinHTTP 介面上實作為精簡包裝函式,而且只在 Windows 系統上支援。

使用多個處理常式鏈結時, WinHttpHandler 應該位於鏈結底部。

透過將這個類別安裝為 NuGet 封裝,其也可用於桌面應用程式。 如需詳細資訊,請參閱 System.Net.Http.WinHttpHandler NuGet 套件

從 .NET 5 開始, WinHttpHandler 不再包含在 System.Net.Http.dll 元件中作為 .NET 執行時間的一部分。 如需詳細資訊,請參閱 從 .NET 執行時間移除 WinHttpHandler

建構函式

WinHttpHandler()

初始化 WinHttpHandler 類別的新執行個體。

屬性

AutomaticDecompression

取得或設定解壓縮方法的類型,此為 HTTP 內容回應的自動解壓縮處理常式所使用。

AutomaticRedirection

取得或設定值,指出此處理常式是否應該接在 HTTP 重新導向回應之後。

CheckCertificateRevocationList

取得或設定值,指出在 SSL 憑證驗證期間是否要檢查憑證撤銷清單。

ClientCertificateOption

取得或設定值,表示憑證是否會從憑證存放區自動選取,或呼叫端是否允許傳入特定用戶端憑證。

ClientCertificates

取得用戶端驗證 SSL 憑證的集合,當 ClientCertificateOption 屬性設為 Manual,處理常式時使用,以驗證用戶端。

CookieContainer

取得或設定受管理的 Cookie 容器物件。 只有當 CookieUsePolicy 屬性設定為 UseSpecifiedCookieContainer 時,才使用這個屬性。 否則,SendAsync(HttpRequestMessage, CancellationToken) 方法將擲回例外狀況。

CookieUsePolicy

取得或設定值,指出應如何管理和使用 Cookie。 開發人員可以選擇忽略 Cookie、允許處理常式自動管理 Cookie,或使用 CookieContainer 物件以手動方式處理 Cookie。

DefaultProxyCredentials

取得或設定用來向驗證 Proxy 驗證使用者的認證。

EnableMultipleHttp2Connections

取得或設定值,這個值表示當所有現有連線上的並行資料流程都已達到最大數目時,是否可建立連至同一部伺服器的其他 HTTP/2 連線。

MaxAutomaticRedirections

取得或設定允許的 HTTP 重新導向的數目上限。

MaxConnectionsPerServer

取得或設定單一伺服器所允許的 TCP 連線數目上限。

MaxResponseDrainSize

取得或設定可從回應中清空的資料的數量上限 (以位元組為單位)。

MaxResponseHeadersLength

取得或設定來自伺服器回應之標頭部分的大小上限 (以位元組為單位)。

PreAuthenticate

取得或設定值,這個值指出處理常式是否隨著要求傳送授權標頭。

Properties

取得 HttpClient 要求之自訂屬性的可寫入字典 (也就是對應)。 字典會初始化為空字典。您可以插入及查詢自訂處理常式和特殊處理的索引鍵/值組。

Proxy

取得或設定當 WindowsProxyUsePolicy 屬性設定為使用自訂 Proxy 時所使用的自訂 Proxy。

ReceiveDataTimeout

取得或設定從伺服器接收回應資料部分的逾時。

ReceiveHeadersTimeout

取得或設定從伺服器接收回應標頭的逾時。

SendTimeout

取得或設定傳送要求的逾時。

ServerCertificateValidationCallback

取得或設定驗證伺服器憑證的回呼方法。 此回呼是 SSL 信號交換的一部分。

ServerCredentials

取得或設定用戶端要用來向伺服器驗證的認證。

SslProtocols

取得或設定用戶端所支援的 TLS/SSL 通訊協定的集合。

TcpKeepAliveEnabled

取得或設定值,指出是否啟用 TCP 保持運作。

TcpKeepAliveInterval

取得或設定 TCP 保持運作間隔。

TcpKeepAliveTime

取得或設定 TCP 保持運作逾時。

WindowsProxyUsePolicy

取得或設定 Proxy 設定。 這個屬性可以設定為停用 Proxy、使用自訂 Proxy,或是使用電腦上 WinHTTP 或 WinInet 的 Proxy 設定。

方法

Dispose()

釋放 Unmanaged 資源,並處置 HttpMessageHandler 所使用的 Managed 資源。

(繼承來源 HttpMessageHandler)
Dispose(Boolean)

釋放 WinHttpHandler 所使用的 Unmanaged 資源,並選擇性處置 Managed 資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Send(HttpRequestMessage, CancellationToken)

在衍生類別中遭到覆寫時,使用指定的要求和取消語彙基元來傳送 HTTP 要求。 否則,擲回 NotSupportedException

(繼承來源 HttpMessageHandler)
SendAsync(HttpRequestMessage, CancellationToken)

以非同步作業的方式傳送 HTTP 要求。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於