Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

478
Visualizações
System.ObjectDisposedException: CancellationTokenSource se ha eliminado

Envié 2 o más solicitudes juntas para el servicio de descanso y después de la segunda respuesta, aparece un error. También localmente todo funciona muy bien, pero en el env atrapo una excepción.

La operación fue cancelada.

El error adquirido: System.ObjectDisposedException: CancellationTokenSource se ha eliminado.

en System.Threading.CancellationTokenSource.ThrowObjectDisposedException()

¿Alguien puede sugerir algo?

 [NotNull] [ItemNotNull] private async Task<TResponse> PostAsync<TRequest, TResponse>([NotNull] string path, [NotNull] TRequest request, CancellationToken cancellationToken) where TRequest : class where TResponse : class { var logger = new LoggerConfiguration() .MinimumLevel.Verbose() .WriteTo.Console() .CreateLogger(); Console.WriteLine("client"); var client = this.GetHttpClient(); Console.WriteLine("content"); using var content = this.CreateHttpContent(request); Console.WriteLine("response"); try { using var response = await client.PostAsync(path, content, cancellationToken).ConfigureAwait(false); return await this.ParseResponseAsync<TResponse>(response, cancellationToken).ConfigureAwait(false); } catch (OperationCanceledException exception) { logger.Verbose(exception.Message); throw; } catch (Exception exception) { Console.WriteLine(exception); logger.Verbose(exception.Message); logger.Error(exception.StackTrace); logger.Fatal(exception.InnerException?.Message); throw; } } [NotNull] private HttpClient GetHttpClient() { var client = new HttpClient { BaseAddress = this.m_baseAddress }; var headers = client.DefaultRequestHeaders; headers.Accept.Clear(); headers.Accept.Add(new MediaTypeWithQualityHeaderValue(MEDIA_TYPE_JSON)); headers.ConnectionClose = true; return client; } [NotNull] private HttpContent CreateHttpContent<TRequest>([NotNull] TRequest request) where TRequest : class { if(request == null) throw new ArgumentNullException(nameof(request)); var content = JsonSerializer.Serialize(request, s_serializerOptions); return new StringContent(content, Encoding.UTF8, MEDIA_TYPE_JSON); } public async Task<long> CreateEmployeeRequestAsync(EmployeeRequestCreateRequest request, CancellationToken cancellationToken = default) { if(request == null) throw new ArgumentNullException(nameof(request)); const string path = "employeerequest"; return (await this.PostAsync<EmployeeRequestCreateRequest, EmployeeRequestCreateResponse>(path, request, cancellationToken).ConfigureAwait(false)).RequestID; }
over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda