¿No puede establecer el encabezado Content-Type en los encabezados HttpResponseMessage?

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 PUTE a esa ubicación con el navegador a través de AJAX, me da esta Excepción:

Nombre del encabezado mal utilizado. Asegúrese de que los encabezados de solicitud se utilicen con HttpRequestMessage, los encabezados de respuesta con HttpResponseMessage y los encabezados de contenido con objetos HttpContent.

¿Pero no es Content-Type un encabezado perfectamente válido para una respuesta? ¿Por qué estoy recibiendo 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. }