6

我意识到 Microsoft Graph .Net SDK 正在使用HttpClient类。

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

微软自己的文档建议HttpClient尽可能重用实例,而不是为每个请求旋转一个新实例,这可能会导致连接池和SocketExceptions 最终耗尽。

是否有类似的建议,尽可能重用GraphServiceClientGraphServiceClient每个请求实例化一个新的有什么特别的问题吗?

4

1 回答 1

11

我不知道有任何建议,但是如果您从两者中查看代码GraphServiceClient作为基础BaseClient,则没有保留状态。只有传入或默认HttpProvider,有问题。如果您每次都依赖于GraphServiceClient生成一个新的HttpProvider(因此也是一个新的),那么您将遇到与创建多个实例相同的问题。HttpClientHttpClient

因此,如果您正在重新创建客户端,您至少应该为它提供一个缓存的HttpProvider. 然后,将整个客户端保存在缓存中并没有太大影响。

于 2018-09-10T09:27:45.693 回答