type que protocolo para length ejemplos dummies content cabeceras cabecera c# asp.net rest asp.net-web-api

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. }