【问题标题】:Reuse or create new Windows.Web.Http.HttpClient重用或创建新的 Windows.Web.Http.HttpClient
【发布时间】:2020-05-11 09:45:17
【问题描述】:

System.Net.Http.HttpClient 的问题已解决。 what-is-the-overhead-of-creating-a-new-httpclient-per-call-in-a-webapi-client

答案是:重用 HttpClient 实例而不是创建新实例。

现在我在 UWP 应用程序中使用 Windows.Web.Http.HttpClient

关于Windows.Web.Http.HttpClient,答案是一样的吗?

【问题讨论】:

  • 它是 UWP 的事实并没有改变图书馆的工作方式,所以是的,答案是一样的。

标签: c# .net uwp httpclient


【解决方案1】:

重用或创建新的Windows.Web.Http.HttpClient

简短的回答是,它可以重复使用。我们经常做单实例模式来封装HttpClient。您可以为每个不同的 API 在应用程序的整个生命周期中保留一个 HttpClient 实例。以下是线程安全的。

public class HttClientProvider
{
    private static HttpClient _instance = null;
    private static readonly object _instanceLock = new object(); 
    public static HttpClient Instance
    {
        get
        {
            if (null == _instance)
            {
                lock (_instanceLock)
                {
                    if (null == _instance)
                    {
                        _instance = new HttpClient();
                    }
                }
            }
            return _instance;
        }
    }
}

【讨论】:

    猜你喜欢
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2014-07-20
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多