Поделиться через


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.cs
Исходный код:
HttpClient.cs
Исходный код:
HttpClient.cs

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

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

Комментарии

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

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

HttpClient(HttpMessageHandler)

Исходный код:
HttpClient.cs
Исходный код:
HttpClient.cs
Исходный код:
HttpClient.cs

Инициализирует новый экземпляр класса 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.cs
Исходный код:
HttpClient.cs
Исходный код:
HttpClient.cs

Инициализирует новый экземпляр класса 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, если планируется повторно использовать внутренний обработчик.

Исключения

Значение параметра handlernull.

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