c# - que - ¿No se puede establecer el encabezado Content-Type en los encabezados HttpResponseMessage?
protocolo http cabeceras (1)
Estoy usando ASP.NET WebApi para crear una API RESTful. Estoy creando un método PUT dentro de uno de mis controladores, y el código se ve así:
public HttpResponseMessage Put(int idAssessment, int idCaseStudy, string value) {
var response = Request.CreateResponse();
if (!response.Headers.Contains("Content-Type")) {
response.Headers.Add("Content-Type", "text/plain");
}
response.StatusCode = HttpStatusCode.OK;
return response;
}
Cuando PONE en esa ubicación con el navegador a través de AJAX, me da esta excepción:
Nombre del encabezado mal usado. Asegúrese de que los encabezados de solicitud se utilicen con HttpRequestMessage, los encabezados de respuesta con HttpResponseMessage y los encabezados de contenido con los objetos HttpContent.
¿Pero no es Content-Type
un encabezado perfectamente válido para una respuesta? ¿Por qué recibo esta excepción?
Eche un vistazo a la propiedad HttpContentHeaders.ContentType :
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
if (response.Content == null)
{
response.Content = new StringContent("");
// The media type for the StringContent created defaults to text/plain.
}