HttpBaseProtocolFilter 类

定义

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
继承
Object Platform::Object IInspectable HttpBaseProtocolFilter
属性
实现

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 代理协商的凭据。

ServerCredential

获取或设置用于向 HTTP 服务器进行身份验证的凭据。

UseProxy

获取或设置一个值,该值指示 HttpBaseProtocolFilter 是否可以使用代理发送 HTTP 请求。

User

获取与 HttpBaseProtocolFilter 关联的用户

方法

ClearAuthenticationCache()

清除设备上当前缓存的身份验证凭据。

Close()

关闭 HttpBaseProtocolFilter 实例并释放分配的资源。

CreateForUser(User)

为特定用户创建新的 HttpBaseProtocolFilter

Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

SendRequestAsync(HttpRequestMessage)

使用 HttpBaseProtocolFilter 作为异步操作发送 HTTP 请求。

事件

ServerCustomValidationRequested

与服务器建立 SSL/TLS 连接时,将引发此事件。 如果需要执行额外的验证 (以及服务器 SSL 证书的 OS 默认) ,则应为此事件实现事件处理程序。

适用于

另请参阅