Проблема:
Я использую .NET Class HttpClient
для выполнения запросов к URL-адресу конечной точки.
Мой код:
using (HttpClient apiClient1 = new HttpClient())
{
apiClient.GetAsync(apiUrl).Result;
}
Идентифицированная проблема:
Если я использую блок using
, я открываю несколько соединений, приводит к socketExceptions
.
Код My Above изменен на:
public class RequestController: ApiController
{
private static HttpClient apiClient = new HttpClient();
[HttpPost]
public dynamic GetWebApiData([FromBody] ParamData params)
{
var resultContent = apiClient.GetAsync(apiUrl).Result.Content;
return Newtonsoft.Json.JsonConvert.DeserializeObject<object>(resultContent.ReadAsStringAsync().Result);
}
}
Результат выполнения кода выше после ввода HttpClient
в виде static
выглядит следующим образом:
Установлено только одно соединение.
Для каждого запроса я ищу сокращение времени отклика на 200 миллисекунд.
Что мне нужно:
Я хочу совершать одновременные звонки как минимум на 50 звонков в конечную точку с высокоскоростным ответом.
Пожалуйста, помогите мне с этим сценарием.