WinHttpHandler 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
依據 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 類似於其他現有的類別,例如 HttpClientHandler。 WinHttpHandler 提供 實例底下的 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 屬性設為 |
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) |