HttpClientFactory Memory Leak



在我的 c# 控制台应用程序 (.net 4.6.1( 中,我需要对随机端点进行 API 调用(获取/发布/放置/删除(等。url、payload 等的详细信息来自数据库表。 控制台应用获取 httpClientFactory 实例,如下所示

var serviceProvider = new ServiceCollection().AddHttpClient().BuildServiceProvider();
var httpClientFactory = serviceProvider.GetService<IHttpClientFactory>();

对于我从表中获取的每条记录,我调用一个方法来进行 API 调用。对于该方法,我将httpClientFactory传递给了它。 在该方法中,我创建和使用HttpClient,如下所示。

var httpClient = httpClientFactory.CreateClient();
//set headers
//make api call, for ex  var response = await httpClient.PutAsync(apiTask.URL, content);
//Return resposne

我不是在处理httpClient的地方。 当我看到内存使用量时,它会不断增加,即使在数小时后我也没有看到它下降。

我关注了以下文章 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-2.1

我用得对吗?我应该使用"using(httpClient("吗?

无需为每个请求实例化新HttpClient,您可以在所有请求之间共享一个实例,因为HttpClient被设计为可重用且线程安全的。

检查这个,这个,还有这个,看看这个也是很糟糕

最新更新