我意识到Microsoft Graph .Net SDK正在使用d
类。
HttpClient
Microsoft自己的文档建议尽可能重用https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/src/Microsoft.Graph.Core/Requests/HttpProvider.cs
实例,而不是根据每个请求分配新实例,这可能导致连接池和HttpClient
耗尽。
是否有类似的建议,尽可能多地重用SocketException
?对每个请求实例化一个新的GraphServiceClient
有什么特别的关注吗?
答案 0 :(得分:6)
我不知道有任何建议,但是如果您将两个GraphServiceClient
中的代码视为基础BaseClient
,则不会保留状态。只有传入的或默认的HttpProvider
才存在问题。如果您每次都依靠GraphServiceClient
生成一个新的HttpProvider
(并因此生成一个新的HttpClient
),则与创建多个HttpClient
实例一样会遇到同样的问题。
因此,如果要重新创建客户端,则至少应为其提供缓存的HttpProvider
。然后,将整个客户端保留在缓存中并不会带来多大伤害。