Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.2K
Vistas
Haga que el cliente http sea sincrónico: espere la respuesta

Tengo un archivo para cargar y algunos de los archivos fallaron porque la publicación es asíncrona y no síncrona.

Estoy tratando de hacer esta llamada como una llamada sincronizada...

Quiero esperar la respuesta.

¿Cómo puedo hacer esta llamada como síncrona?

 static async Task<JObect> Upload(string key, string url, string sourceFile, string targetFormat) { using (HttpClientHandler handler = new HttpClientHandler { Credentials = new NetworkCredential(key, "") }) using (HttpClient client = new HttpClient(handler)) { var request = new MultipartFormDataContent(); request.Add(new StringContent(targetFormat), "target_format"); request.Add(new StreamContent(File.OpenRead(sourceFile)), "source_file", new FileInfo(sourceFile).Name); using (HttpResponseMessage response = await client.PostAsync(url, request).ConfigureAwait(false)) using (HttpContent content = response.Content) { string data = await content.ReadAsStringAsync().ConfigureAwait(false); return JsonObject.Parse(data); } } }

¡Cualquier ayuda apreciada!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

cambio

 await content.ReadAsStringAsync().ConfigureAwait(false)

para

 content.ReadAsStringAsync().Result

ReadAsStringAsync devuelve un objeto Task. el '.Result' al final de la línea le dice al compilador que devuelva la cadena interna.

over 4 years ago · Santiago Trujillo Denunciar

0

Deberias hacer eso:

 static async Task<JObect> Upload(string key, string url, string sourceFile, string targetFormat) { using (HttpClientHandler handler = new HttpClientHandler { Credentials = new NetworkCredential(key, "") }) using (HttpClient client = new HttpClient(handler)) { var request = new MultipartFormDataContent(); request.Add(new StringContent(targetFormat), "target_format"); request.Add(new StreamContent(File.OpenRead(sourceFile)), "source_file", new FileInfo(sourceFile).Name); using (HttpResponseMessage response = await client.PostAsync(url,request)) using (HttpContent content = response.Content) { string data = await content.ReadAsStringAsync(); return JsonObject.Parse(data); } } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda