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 此外,开发人员还可以比 HttpClientHandler 类更精细地控制应用程序的 HTTP 通信。 这允许开发人员实现更高级的 HTTP 方案或修改系统默认值 (,例如代理设置、超时和服务器 SSL 证书验证) 。
WinHttpHandler 不应作为 的 HttpClientHandler替代项。 相反,它是一个更高级的版本,适用于不足的情况 HttpClientHandler 。 WinHttpHandler 在 Windows 的 WinHTTP 接口上作为精简包装器实现,并且仅在 Windows 系统上受支持。
使用包含多个处理程序的链时, WinHttpHandler 应位于链的底部。
还可将此类作为 NuGet 包安装,以便在桌面应用中使用。 有关详细信息,请参阅 System.Net.Http.WinHttpHandler NuGet 包。
从 .NET 5 开始, WinHttpHandler 不再作为 .NET 运行时的一部分包含在 System.Net.Http.dll 程序集中。 有关详细信息,请参阅 从 .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 |
获取或设置用于向身份验证代理证实用户身份的凭据。 |
EnableMultipleHttp2Connections |
获取或设置一个值,用于指示在所有现有连接上达到最大并发流数时,是否可以在同一服务器上建立其他 HTTP/2 连接。 |
MaxAutomaticRedirections |
获取或设置允许的最大 HTTP 重定向数。 |
MaxConnectionsPerServer |
获取或设置允许向单个服务器连接的最大 TCP 连接数。 |
MaxResponseDrainSize |
获取或设置可从响应中排出的最大数据量(以字节为单位)。 |
MaxResponseHeadersLength |
获取或设置服务器响应中标头部分的最大大小(以字节为单位)。 |
PreAuthenticate |
获取或设置一个值,该值指示处理程序是否随请求发送授权标头。 |
Properties |
获取 HttpClient 的自定义属性的可写字典(即地图)。 初始字典为空;可以为自定义处理程序和特殊处理插入和查询键值对。 |
Proxy |
获取或设置当 WindowsProxyUsePolicy 属性设置为使用自定义代理时的自定义代理。 |
ReceiveDataTimeout |
获取或设置从服务器接收响应的数据部分的超时值。 |
ReceiveHeadersTimeout |
获取或设置从服务器接收响应的标头的超时值。 |
SendTimeout |
获取或设置发送请求的超时值。 |
ServerCertificateValidationCallback |
获取或设置用于验证服务器证书的回调方法。 此回叫是 SSL 握手的一部分。 |
ServerCredentials |
获取或设置客户端用于向服务器进行身份验证的凭据。 |
SslProtocols |
获取或设置客户端支持的 TLS/SSL 协议的集合。 |
TcpKeepAliveEnabled |
获取或设置一个值,该值指示是否启用 TCP 保持连接。 |
TcpKeepAliveInterval |
获取或设置 TCP 保持活动间隔。 |
TcpKeepAliveTime |
获取或设置 TCP 保持连接超时。 |
WindowsProxyUsePolicy |
获取或设置代理设置。 此属性可设置为禁用代理、使用自定义代理或在计算机上使用 WinHTTP 或 WinInet 的代理设置。 |
方法
Dispose() |
释放由 HttpMessageHandler 使用的非托管资源和托管资源。 (继承自 HttpMessageHandler) |
Dispose(Boolean) |
释放由 WinHttpHandler 使用的非托管资源,并可根据需要释放托管资源。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Send(HttpRequestMessage, CancellationToken) |
在派生类中被重写时,发送带有指定请求和取消标记的 HTTP 请求。 否则,将引发 NotSupportedException。 (继承自 HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
以异步操作发送 HTTP 请求。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |