WinHttpHandler Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обрабатывает сообщения на основе интерфейса WinHTTP ОС Windows. Этот класс предназначен для использования в серверных средах.
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 вплоть до HTTP/2.
WinHttpHandlerпредназначен для использования в основном в серверных средах ASP.NET Core и других приложений .NET, взаимодействующих с HTTP-серверами. WinHttpHandler также предоставляет разработчикам более детализированный контроль над http-взаимодействием HttpClientHandler приложения, чем класс . Это позволяет разработчикам реализовывать более сложные сценарии HTTP или изменять системные значения по умолчанию (например, параметры прокси-сервера, время ожидания и проверка SSL-сертификата сервера).
WinHttpHandlerне предназначено для замены .HttpClientHandler Вместо этого это более расширенная версия, которая предоставляется для сценариев, где HttpClientHandler недостаточно. WinHttpHandler реализован в виде тонкой оболочки в интерфейсе WinHTTP Windows и поддерживается только в системах Windows.
При использовании цепочки из нескольких обработчиков WinHttpHandler должна находиться в нижней части цепочки.
Этот класс также можно использовать в классических приложениях, установив его в виде пакета NuGet. Дополнительные сведения см. в статье Пакет NuGet System.Net.Http.WinHttpHandler.
Начиная с .NET 5, WinHttpHandler больше не включается в сборкуSystem.Net.Http.dll как часть среды выполнения .NET. Дополнительные сведения см. в статье Удаление WinHttpHandler из среды выполнения .NET.
Конструкторы
WinHttpHandler() |
Инициализирует новый экземпляр класса WinHttpHandler. |
Свойства
AutomaticDecompression |
Возвращает или задает тип метода распаковки, используемый обработчиком для автоматической распаковки содержимого HTTP-ответа. |
AutomaticRedirection |
Возвращает или задает значение, которое указывает, должен ли обработчик следовать HTTP-ответам перенаправления. |
CheckCertificateRevocationList |
Возвращает или задает значение, указывающее, следует ли проверять список отзыва сертификатов во время процесса проверки сертификата SSL. |
ClientCertificateOption |
Возвращает или задает значение, указывающее, выбирается ли автоматически сертификат из хранилища сертификатов, или может ли вызывающий объект передавать определенный клиентский сертификат. |
ClientCertificates |
Возвращает коллекцию SSL-сертификатов проверки подлинности клиента, которые используются обработчиком для проверки, если свойство ClientCertificateOption имеет значение |
CookieContainer |
Возвращает или задает управляемый объект контейнера файлов cookie. Это свойство используется, только если свойству CookieUsePolicy задано значение UseSpecifiedCookieContainer. В противном случае метод SendAsync(HttpRequestMessage, CancellationToken) вызывает исключение. |
CookieUsePolicy |
Возвращает или задает значение, указывающее способ использования файлов cookie и управления ими. Разработчики могут игнорировать файлы cookie, разрешить обработчику управлять ими автоматически либо обрабатывать их вручную с помощью объекта CookieContainer. |
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) |