Безопасно ли использовать HttpClientFactory? - PullRequest
0 голосов
/ 21 декабря 2018

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

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

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

Верно ли мое предположение?Как мы можем решить эту проблему?

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

1 Ответ

0 голосов
/ 28 декабря 2018

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

services.AddHttpClient("configured-inner-handler")
.ConfigurePrimaryHttpMessageHandler(() =>
{
    return new HttpClientHandler()
    {
        UseCookies = false
    };
});
...