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 代理协商的凭据。 |
ServerCredential |
获取或设置用于向 HTTP 服务器进行身份验证的凭据。 |
UseProxy |
获取或设置一个值,该值指示 HttpBaseProtocolFilter 是否可以使用代理发送 HTTP 请求。 |
User |
获取与 HttpBaseProtocolFilter 关联的用户。 |
方法
ClearAuthenticationCache() |
清除设备上当前缓存的身份验证凭据。 |
Close() |
关闭 HttpBaseProtocolFilter 实例并释放分配的资源。 |
CreateForUser(User) |
为特定用户创建新的 HttpBaseProtocolFilter。 |
Dispose() |
执行与释放或重置非托管资源关联的应用程序定义的任务。 |
SendRequestAsync(HttpRequestMessage) |
使用 HttpBaseProtocolFilter 作为异步操作发送 HTTP 请求。 |
事件
ServerCustomValidationRequested |
与服务器建立 SSL/TLS 连接时,将引发此事件。 如果需要执行额外的验证 (以及服务器 SSL 证书的 OS 默认) ,则应为此事件实现事件处理程序。 |