Безопасно ли использовать HttpClientFactory?

В моем приложении MVC asp.net ядро, я использую HttpClientFactory создавать HttpClient объект для запросов к серверу API.

Следует документу Microsoft, HttpClient объект создается новым каждый раз, когда я звоню HttpClientFactory.CreateClient(), так что будет безопасно для установки значений HttpClient.DefaultRequestHeaders,

Около HttpMessageHandler объекты, потому что они объединены и могут быть использованы позже. Таким образом, если они хранят информацию о куки (например: HttpClientHandler объект), мы будем нарушать потокобезопасность.

Мое предположение верно? Как мы можем справиться с этой проблемой?

Это нормально, если мы установим cookie в HttpRequestMessageтогда мы отправим HttpClient?

1 ответ

Решение

Я нашел решение использовать HttpClientFactory. Мы должны отключить CookieContainer первичного HttpMessageHanlder (это HttpClientHandler):

services.AddHttpClient("configured-inner-handler")
.ConfigurePrimaryHttpMessageHandler(() =>
{
    return new HttpClientHandler()
    {
        UseCookies = false
    };
});
Другие вопросы по тегам