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

Комментарии

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 имеет значение Manual.

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)

Применяется к