Impossible de définir l’en-tête Content-Type sur les en-têtes HttpResponseMessage?

J’utilise le WebApi ASP.NET pour créer une API RESTful. Je crée une méthode PUT dans l’un de mes contrôleurs et le code ressemble à ceci:

public HttpResponseMessage Put(int idAssessment, int idCaseStudy, ssortingng value) { var response = Request.CreateResponse(); if (!response.Headers.Contains("Content-Type")) { response.Headers.Add("Content-Type", "text/plain"); } response.StatusCode = HttpStatusCode.OK; return response; } 

Lorsque je passe à cet emplacement avec le navigateur via AJAX, cela me donne cette exception:

Nom d’en-tête mal utilisé. Assurez-vous que les en-têtes de requête sont utilisés avec HttpRequestMessage, les en-têtes de réponse avec HttpResponseMessage et les en-têtes de contenu avec des objects HttpContent.

Mais Content-Type n’est-il pas un en-tête parfaitement valide pour une réponse? Pourquoi je reçois cette exception?

Consultez la propriété HttpContentHeaders.ContentType :

 response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); 

 if (response.Content == null) { response.Content = new SsortingngContent(""); // The media type for the SsortingngContent created defaults to text/plain. }