HttpBaseProtocolFilter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
HttpClient實例的基底通訊協定篩選。
public ref class HttpBaseProtocolFilter sealed : IClosable
public ref class HttpBaseProtocolFilter sealed : IClosable, IHttpFilter
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class HttpBaseProtocolFilter final : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class HttpBaseProtocolFilter final : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class HttpBaseProtocolFilter final : IClosable, IHttpFilter
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class HttpBaseProtocolFilter : System.IDisposable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class HttpBaseProtocolFilter : System.IDisposable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class HttpBaseProtocolFilter : System.IDisposable, IHttpFilter
function HttpBaseProtocolFilter()
Public NotInheritable Class HttpBaseProtocolFilter
Implements IDisposable
Public NotInheritable Class HttpBaseProtocolFilter
Implements IDisposable, IHttpFilter
- 繼承
- 屬性
- 實作
Windows 需求
裝置系列 |
Windows 10 (已於 10.0.10240.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)
|
備註
HttpBaseProtocolFilter 類別提供 HttpClient 實例所使用的基底篩選或處理常式。 如果未將其他篩選新增至 HttpClient 實例,則 HttpBaseProtocolFilter 物件將是唯一的篩選準則。
HttpBaseProtocolFilter 類別提供一組屬性來切換各種低階 HTTP 堆疊行為。
根據 IHttpFilter 介面的其他篩選可以新增至套用至 HttpClient 實例的篩選鏈結,以進一步處理或處理來自 HttpBaseProtocolFilter 物件的結果。
HttpBaseProtocolFilter 物件會在傳送 HTTP 要求或接收回應時擲回例外狀況,例如,在飛機模式中發生 (連線中斷,例如) 。 在應用程式中使用 HttpClient 的開發人員可能會偏好新增篩選來攔截這些例外狀況,並改為將它們轉換成 HTTP 回應碼。
版本歷程記錄
Windows 版本 | SDK 版本 | 已新增值 |
---|---|---|
1511 | 10586 | CookieUsageBehavior |
1607 | 14393 | ClearAuthenticationCache |
1607 | 14393 | ServerCustomValidationRequested |
1903 | 18362 | CreateForUser |
1903 | 18362 | User |
建構函式
HttpBaseProtocolFilter() |
初始化 HttpBaseProtocolFilter 類別的新實例。 在傳統型應用程式中,在以顯示 UI 的方式使用這個類別的實例之前,您必須將物件與其擁有者的視窗控制碼產生關聯。 如需詳細資訊和程式碼範例,請參閱 顯示相依于 CoreWindow 的 WinRT UI 物件。 |
屬性
AllowAutoRedirect |
取得或設定值,指出 HttpBaseProtocolFilter 是否應遵循重新導向回應。 |
AllowUI |
取得或設定值,指出 HttpBaseProtocolFilter 是否可以在伺服器要求時提示使用者認證。 |
AutomaticDecompression |
取得或設定值,這個值表示 HttpBaseProtocolFilter 是否可以自動解壓縮 HTTP 內容回應。 |
CacheControl |
取得或設定要在 HttpBaseProtocolFilter 物件上使用的讀取和寫入快取控制項行為。 |
ClientCertificate |
取得或設定用戶端 SSL 憑證,如果伺服器要求用戶端憑證,則會傳送至伺服器。 |
CookieManager |
使用與應用程式相關聯的 Cookie 取得 HttpCookieManager 。 |
CookieUsageBehavior |
取得或設定 Cookie 使用行為。 根據預設,會自動處理 Cookie。 |
IgnorableServerCertificateErrors |
取得應用程式後續可能選擇忽略的 SSL 伺服器憑證錯誤的向量。 |
MaxConnectionsPerServer |
取得或設定 HttpBaseProtocolFilter 物件每個 HTTP 伺服器允許的 TCP 連線數目上限。 |
MaxVersion |
取得或設定使用的 HTTP 通訊協定版本。 |
ProxyCredential |
取得或設定要用來與 HTTP Proxy 交涉的認證。 |
ServerCredential |
取得或設定要用來向 HTTP 伺服器進行驗證的認證。 |
UseProxy |
取得或設定值,指出 HttpBaseProtocolFilter 是否可以使用 Proxy 來傳送 HTTP 要求。 |
User |
取得與HttpBaseProtocolFilter相關聯的使用者。 |
方法
ClearAuthenticationCache() |
清除裝置上目前快取的驗證認證。 |
Close() |
關閉 HttpBaseProtocolFilter 實例,並釋放已配置的資源。 |
CreateForUser(User) |
為特定使用者建立新的HttpBaseProtocolFilter。 |
Dispose() |
執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。 |
SendRequestAsync(HttpRequestMessage) |
使用 HttpBaseProtocolFilter 作為非同步作業傳送 HTTP 要求。 |
事件
ServerCustomValidationRequested |
當 SSL/TLS 連線與伺服器建立時,就會引發此事件。 如果您需要執行額外的驗證 (,以及伺服器 SSL 憑證的 OS 預設) ,您應該實作此事件的事件處理常式。 |