HttpClient Конструкторы

Определение

Инициализирует новый экземпляр класса HttpClient.

Перегрузки

Имя Описание
HttpClient()

Инициализирует новый экземпляр HttpClient класса с помощью HttpClientHandler удаления этого экземпляра.

HttpClient(HttpMessageHandler)

Инициализирует новый экземпляр HttpClient класса с указанным обработчиком. Обработчик удаляется при удалении этого экземпляра.

HttpClient(HttpMessageHandler, Boolean)

Инициализирует новый экземпляр HttpClient класса с предоставленным обработчиком и указывает, следует ли удалить этот обработчик при удалении этого экземпляра.

Комментарии

HttpClient предназначен для создания экземпляра один раз и повторного использования в течение всего времени работы приложения. Создание экземпляра класса HttpClient для каждого запроса будет исчерпать количество сокетов, доступных при тяжелых нагрузках. Это приведет к ошибкам SocketException. Ниже приведен пример правильного использования HttpClient.

public class GoodController : ApiController
{
    private static readonly HttpClient HttpClient;

    static GoodController()
    {
        HttpClient = new HttpClient();
    }
}
  Public Class GoodController
    Inherits ApiController

    Private Shared ReadOnly HttpClient As HttpClient

    Shared Sub New()
        HttpClient = New HttpClient()
    End Sub
End Class

HttpClient()

Инициализирует новый экземпляр HttpClient класса с помощью HttpClientHandler удаления этого экземпляра.

public:
 HttpClient();
public HttpClient();
Public Sub New ()

Комментарии

Использование этого конструктора эквивалентно вызову конструктора HttpClient(new HttpClientHandler(), true) .

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

HttpClient(HttpMessageHandler)

Инициализирует новый экземпляр HttpClient класса с указанным обработчиком. Обработчик удаляется при удалении этого экземпляра.

public:
 HttpClient(System::Net::Http::HttpMessageHandler ^ handler);
public HttpClient(System.Net.Http.HttpMessageHandler handler);
new System.Net.Http.HttpClient : System.Net.Http.HttpMessageHandler -> System.Net.Http.HttpClient
Public Sub New (handler As HttpMessageHandler)

Параметры

handler
HttpMessageHandler

Стек обработчика HTTP, используемый для отправки запросов.

Исключения

Значение handler равно null.

Комментарии

Использование этого конструктора эквивалентно вызову конструктора HttpClient(handler, true) .

Указанный параметр handler будет удален путем вызова HttpClient.Dispose.

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

HttpClient(HttpMessageHandler, Boolean)

Инициализирует новый экземпляр HttpClient класса с предоставленным обработчиком и указывает, следует ли удалить этот обработчик при удалении этого экземпляра.

public:
 HttpClient(System::Net::Http::HttpMessageHandler ^ handler, bool disposeHandler);
public HttpClient(System.Net.Http.HttpMessageHandler handler, bool disposeHandler);
new System.Net.Http.HttpClient : System.Net.Http.HttpMessageHandler * bool -> System.Net.Http.HttpClient
Public Sub New (handler As HttpMessageHandler, disposeHandler As Boolean)

Параметры

handler
HttpMessageHandler

Ответственный HttpMessageHandler за обработку сообщений HTTP-ответов.

disposeHandler
Boolean

true Значение , если внутренний обработчик должен быть удален httpClient.Dispose; false Если вы планируете повторно использовать внутренний обработчик.

Исключения

Значение handler равно null.

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