Console Application HTTP POST time infinite

25/02/2019

0

Boa tarde
Preciso consumir uma web api com grande volume de dados, então montei esse métodos:
 using (HttpClient client = new HttpClient())
            {
                client.BaseAddress = new Uri(destinationUrl);
                var buffer = System.Text.Encoding.UTF8.GetBytes(requestXml);
                using (var byteContent = new ByteArrayContent(buffer))
                {
                    byteContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/xml");
                    using (var result = client.PostAsync(destinationUrl, byteContent).Result)
                    {
                        var contents = result.Content.ReadAsStringAsync().Result;
                        return contents;
                    }
                }
            }


Funciona normal para uma transação pequena, se passar de 5 minutos dá pau, no postman roda normal.
Alguém pode me ajudar?
Lucas Vargas

Lucas Vargas

Responder

Posts

25/02/2019

Wagner Silva

Utilize a propriedade Timeout do HttpClient, abaixo deixo um exemplo para deixar o timeout infinito.

var http = new HttpClient
{
          Timeout = TimeSpan.FromHours(Timeout.Infinite)
};
Responder

25/02/2019

Lucas Vargas

Utilize a propriedade Timeout do HttpClient, abaixo deixo um exemplo para deixar o timeout infinito.

var http = new HttpClient
{
          Timeout = TimeSpan.FromHours(Timeout.Infinite)
};


Opa! Valeu pela resposta, mas nao consegui implementar
retorna esse erro
System.ArgumentOutOfRangeException: Argumento especificado estava fora do intervalo de valores válidos.
Nome do parâmetro: value
em System.Net.Http.HttpClient.set_Timeout(TimeSpan value)
Responder

25/02/2019

Lucas Vargas

Utilize a propriedade Timeout do HttpClient, abaixo deixo um exemplo para deixar o timeout infinito.

var http = new HttpClient
{
          Timeout = TimeSpan.FromHours(Timeout.Infinite)
};


Tentei colocar -1 ao invés de Timeout.Infinite e rodou ,mas depois deu outro erro

- System.AggregateException: Um ou mais erros. ---> System.Net.Http.HttpRequestException: Ocorreu um erro ao copiar o conteúdo para um fluxo. ---> System.IO.IOException: Falha na operação de leitura, consulte a exceção interna. ---> System.Net.WebException: A solicitação foi anulada: A conexão foi fechada de modo inesperado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar