Если мы повторно используем HttpClient, как в SingleHttpClientInstanceController ниже, что, если поступит несколько запросов и текущий запрос использует общий HttpClient, будет ли этот случай блокировать последующие запросы?
У меня есть веб-API, который принимает запрос и вызывает внешние веб-службы, если при вызове внешних блоков веб-API он будет блокировать все поступающие запросы.
public class SingleHttpClientInstanceController : ApiController
{
private static readonly HttpClient httpClient;
static SingleHttpClientInstanceController()
{
httpClient = new HttpClient();
}
// This method uses the shared instance of HttpClient for every call to GetProductAsync.
public async Task<Product> GetProductAsync(string id)
{
var hostName = HttpContext.Current.Request.Url.Host;
var result = await httpClient.GetStringAsync(string.Format("http://{0}:8080/api/...", hostName));
return new Product { Name = result };
}
}
приведенный выше код взят изссылка ниже
https://docs.microsoft.com/en-us/azure/architecture/antipatterns/improper-instantiation/