Обновление - Следующая проблема была решена путем установки прокси для HttpClientHandler.Но мне все еще интересно, как первый запрос был успешным без установки прокси-сервера?Почему только последующие запросы (после первого запроса) не будут выполняться из-за прокси-сервера?
У меня есть простой класс для повторного использования одного экземпляра HttpClient в разных запросах.Проблема, с которой я сталкиваюсь, состоит в том, что только первый вызов завершается успешно, в то время как все последующие вызовы завершаются с ошибкой SocketException.
public class MyHttpClient
{
private static readonly HttpClient client;
static MyHttpClient()
{
client = new HttpClient();
client.BaseAddress = new Uri("http://x.com");
}
public async Task<string> GetSecurityToken(LoginData data)
{
var reqMsg = JsonConvert.SerializeObject(data);
var reqContent = new StringContent(reqMsg, System.Text.Encoding.UTF8, "application/json");
var response= await client.PostAsync("/api/v1/security/token", reqContent)
var result = await response.Content.ReadAsStringAsync();
return result
}
}
// The above class is consumed as
var client = new MyHttpClient();
var login = new LoginData("abc@gmail.com", "xxxx");
var result = await client.GetSecurityToken(login); // this call succeeds !
var result1 = await client.GetSecurityToken(login); // this call fails with an exception, but why?
Исключение, которое я получаю во втором вызове, - SocketException: попытка подключения не удаласьпотому что подключенная сторона не ответила должным образом через некоторое время или не удалось установить соединение, потому что подключенный хост не смог ответить