共用方式為


IHttpFilter 介面

定義

介面,用來實作 HttpClient 實例的自訂篩選。

public interface class IHttpFilter : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2764795349, 2306, 17310, 191, 215, 225, 37, 82, 177, 101, 206)]
struct IHttpFilter : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(2764795349, 2306, 17310, 191, 215, 225, 37, 82, 177, 101, 206)]
public interface IHttpFilter : System.IDisposable
Public Interface IHttpFilter
Implements IDisposable
衍生
屬性
實作

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)

備註

IHttpFilter 介面可用來開發 HttpClient 實例的自訂篩選。 自訂篩選會在 IHttpFilter 介面的 SendRequestAsync 方法中實作。

Windows.Web.Http命名空間中的類別支援根據Windows.Web.Http.Filters命名空間中的類別使用篩選。 Windows.Web.Http命名空間中的HttpClient類別提供用來傳送 HTTP 要求和接收 HTTP 回應的基類。 篩選準則提供處理常式機制,以協助解決常見的 HTTP 服務問題。 簡單的篩選可以依序鏈結在一起,以處理更複雜的 HTTP 服務問題。

HTTP 篩選是一個黑色方塊,會接受 HTTP 要求訊息並產生 HTTP 回應訊息。 篩選準則如何取得 HTTP 回應是由篩選開發人員決定。 應用程式可以立即建立回應,它可以透過 TCP 將要求傳送至伺服器,甚至可以將多個要求傳送至伺服器 (或多個伺服器) ,再產生回應訊息。 由於篩選未指定篩選如何取得回應訊息,因此篩選準則可以將要求訊息傳遞至另一個篩選 (稱為內部篩選) ,進而將回應訊息的建立委派給內部篩選。

篩選通常會新增或變更標頭、處理可能使用 WebAuthenticationBroker) 的授權 (,或根據網路條件允許或不允許要求。 篩選通常會進行變更,然後將要求傳遞至內部篩選,這通常會在建構篩選時設定。

此方法可讓篩選只負責 HTTP 要求執行的特定層面,並將其他層面委派給其他篩選。 篩選準則可以實作快取、驗證、重新導向、Cookie、與伺服器的實際通訊,或這些內容的組合。 最下層 (基底) 篩選準則通常是與網路實際通訊的篩選。

開發人員可以撰寫自己的網站特定問題篩選。 例如,某些網站使用 503 (服務無法使用) 回應,指出應該重試要求。 可以實作自訂篩選來偵測此行為並據以回應。 另一個範例可以處理 Windows.Web.HttpWindows.Web.Http.Filters 命名空間中的方法,這些命名空間會因為網路失敗而擲回例外狀況, (網路連線在飛機模式中遺失,例如) 。 自訂篩選可能會變更攔截網路例外狀況,並將其轉換成 HTTP 狀態碼。

方法

Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

SendRequestAsync(HttpRequestMessage)

以非同步作業的形式,在 IHttpFilter 實例上傳送 HTTP 要求。

適用於

另請參閱