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.