Saltar al contenido

HttpClient no es compatible con el método PostAsJsonAsync C#

Necesitamos tu ayuda para compartir nuestros ensayos en referencia a las ciencias de la computación.

Solución:

Sí, debe agregar una referencia a

System.Net.Http.Formatting.dll

Esto se puede encontrar en el área de ensamblajes de extensiones.

Una buena manera de lograr esto es agregando el paquete NuGet Microsoft.AspNet.WebApi.Client a tu proyecto.

PostAsJsonAsync ya no esta en el System.Net.Http.dll (.NET 4.5.2). Puede agregar una referencia a System.Net.Http.Formatting.dll, pero esto en realidad pertenece a una versión anterior. Tuve problemas con esto en nuestro servidor de compilación de TeamCity, estos dos no cooperaban juntos.

Alternativamente, puede reemplazar PostAsJsonAsynccon un PostAsync call, que es solo parte de la nueva dll. Reemplazar

var response = client.PostAsJsonAsync("api/AgentCollection", user).Result;

Con:

var response = client.PostAsync("api/AgentCollection", new StringContent(
   new JavaScriptSerializer().Serialize(user), Encoding.UTF8, "application/json")).Result;

Tenga en cuenta que JavaScriptSerializer está en el espacio de nombres: System.Web.Script.Serialization.

Deberá agregar una referencia de ensamblaje en su csproj: System.Web.Extensions.dll

Consulte https://code.msdn.microsoft.com/windowsapps/How-to-use-HttpClient-to-b9289836

La referencia que falta es el System.Net.Http.Formatting.dll. Pero la mejor solución es agregar el paquete NuGet Microsoft.AspNet.WebApi.Client para asegurarse de que la versión de la dll de formato funcionó con la versión de .NET framework de System.Net.Http en mi proyecto

Te mostramos las reseñas y valoraciones de los usuarios

Recuerda dar recomendación a esta crónica si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *