webapi中的静态HttpClient会触发任何问题吗?

时间:2017-05-24 09:46:03

标签: c# dotnet-httpclient

我刚刚意识到我们应该重复使用HttpClient而不是一次又一次地处理它们。但是,由于我的应用程序在asp.net上,如果我不这样做:

using (var client = new HttpClient())
{
     client.SendAsync(someurl, something);
}

相反,将客户端作为静态变量放在我的控制器中,例如:

public class MyController{
            public static HttpClient MyClient;
       public class MyController()
       {
            ////some configuration for the HttpClient
       }
       public async Task<Model> get()
       {
               await MyClient.PostAsJsonAsync(url, someModel);
               return something
       }
}

当多用户呼叫我的api时,会触发与线程相关的问题吗?

这篇msdn文章确实说PostAsync是线程安全的。 https://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.110).aspx#Anchor_5

它是否适用于我的使用场景?此外,如果有数百个并发请求,单个HttpClient会处理这个吗?

0 个答案:

没有答案