小编bre*_*ett的帖子

HttpClient 静态与新

我读过很多这方面的内容,但仍然很困惑。下面是我如何使用 HttpClient 以便可以重用它:

private static HttpClient client;

    public ClientClass()
    {
        client = new HttpClient();
    }
Run Code Online (Sandbox Code Playgroud)

我不明白的是,即使它是静态的,我仍然在每个控制器调用上创建一个新实例。只有当我在同一方法中进行多次 HttpClient 调用时,它才会被重用,但除此之外,它总是会为每个 Web 请求创建一个新实例。

是否应该通过多个 Web 请求重用一个 HttpClient 实例,如果是这样,我该怎么做,因为我这样做的方式会在每个 api 调用上创建一个新实例?

另外,如果我这样做有什么区别:

private static HttpClient client = new HttpClient();

public ClientClass() {}
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net asp.net-mvc-4 asp.net-web-api

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net ×1

asp.net ×1

asp.net-mvc-4 ×1

asp.net-web-api ×1

c# ×1