Logo ru.boatexistence.com

Должен ли httpclient быть временным или одноэлементным?

Оглавление:

Должен ли httpclient быть временным или одноэлементным?
Должен ли httpclient быть временным или одноэлементным?

Видео: Должен ли httpclient быть временным или одноэлементным?

Видео: Должен ли httpclient быть временным или одноэлементным?
Видео: Евгений Пешков «Клиентский HTTP в .NET: От WebRequest до SocketsHttpHandler» 2024, Апрель
Anonim

Класс HttpClient больше подходит в качестве синглтона для одного домена приложения. Это означает, что синглтон должен быть общим для нескольких классов контейнеров. С помощью этой тактики вы получаете синглтон, но это затрудняет его совместное использование. Класс HttpClient реализует интерфейс IDisposable.

Должны ли мы создавать новый экземпляр HttpClient для всех запросов?

Хотя он реализует интерфейс IDisposable, на самом деле это общий объект. Это означает, что внутри он является реентерабельным и потокобезопасным. Вместо создания нового экземпляра HttpClient для каждого выполнения вы должны совместно использовать один экземпляр HttpClient на весь срок службы приложения.

Следует ли повторно использовать

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

Является ли HttpClient неуправляемым?

Хотя HttpClient косвенно реализует интерфейс IDisposable, стандартное использование HttpClient не заключается в его удалении после каждого запроса. Объект HttpClient предназначен для жизни до тех пор, пока вашему приложению необходимо выполнять

Является ли HttpClient потокобезопасным?

HttpClient является полностью потокобезопасным, если используется с диспетчером соединений, ориентированным на многопотоковое исполнение, таким как MultiThreadedHttpConnectionManager. … В то же время экземпляр HttpClient и диспетчер соединений должны быть общими для всех потоков для максимальной эффективности.

Рекомендуемые: