Какова рекомендация повторно использовать GraphServiceClient в Microsoft Graph .Net SDK? - PullRequest
0 голосов
/ 10 сентября 2018

Я понял, что Microsoft Graph .Net SDK использует HttpClient класс.

https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/src/Microsoft.Graph.Core/Requests/HttpProvider.cs

В собственной документации Microsoft рекомендуется как можно больше использовать HttpClient экземпляров вместо того, чтобы раскручивать новый экземпляр для каждого запроса, что может привести к исчерпанию пула соединений и SocketException s в конечном итоге.

Есть ли аналогичная рекомендация, чтобы максимально использовать GraphServiceClient? Есть ли особая проблема с созданием нового GraphServiceClient для каждого запроса?

1 Ответ

0 голосов
/ 10 сентября 2018

Я не знаю ни одной рекомендации, но если вы посмотрите на код из GraphServiceClient как базовый BaseClient, состояние не сохраняется. Только входящий или по умолчанию HttpProvider, и есть проблема. Если вы полагаетесь на GraphServiceClient, генерирующее новый HttpProvider (и, следовательно, новый HttpClient) каждый раз, у вас возникает та же проблема, что и при создании нескольких HttpClient экземпляров.

Так что, если вы воссоздаете клиентов, вы должны как минимум предоставить кешированный HttpProvider. И потом, это не помешает держать весь клиент в кэше.

...