example desde consumir consume c# .net httpclient portable-class-library request-headers

desde - httpclient c#



Modificar encabezados de solicitud por solicitud C#HttpClient PCL (2)

Actualmente estoy usando System.Net.Http.HttpClient para el soporte multiplataforma.

Leí que no es una buena práctica crear una instancia de un objeto HttpClient para cada solicitud y que debe reutilizarse siempre que sea posible.

Ahora tengo un problema al escribir una biblioteca cliente para un servicio. Algunas llamadas a la API deben tener un encabezado específico, algunas DEBEN no incluir este encabezado específico.

Parece que solo puedo manipular los "DefaultRequestHeaders" que se enviarán con cada solicitud.

¿Hay alguna opción cuando se realiza la solicitud con, por ejemplo, "cliente.PostAsync ()" para modificar los encabezados solo para la solicitud específica?

(Información: Las solicitudes pueden ser multiproceso).

¡Gracias por adelantado!


Sí, puede crear un nuevo HttpRequestMessage, establecer todas las propiedades que necesita y luego pasarlo a SendAsync.

var request = new HttpRequestMessage() { RequestUri = new Uri("http://example.org"), Method = HttpMethod.Post, Content = new StringContent("Here is my content") } request.Headers.Accept.Add(...); // Set whatever headers you need to var response = await client.SendAsync(request);