Retourner les types anonymes avec l'API Web

Lors de l'utilisation de MVC, retour adhoc Json a été facile.

return Json(new { Message = "Hello"});

Je suis à la recherche de cette fonctionnalité avec la nouvelle API Web.

public HttpResponseMessage<object> Test()
{    
   return new HttpResponseMessage<object>(new { Message = "Hello" }, HttpStatusCode.OK);
}

Ce lève une exception, comme le DataContractJsonSerializer ne peut pas traiter tous les types anonymes.

J'ai remplacé cette JsonNetFormatter basé sur Json.Net.
Cela fonctionne si j'utilise

 public object Test()
 {
    return new { Message = "Hello" };
 }

mais je ne vois pas l'intérêt de l'utilisation de l'API Web si je ne suis pas de retour HttpResponseMessage, je serais mieux coller avec de la vanille MVC. Si j'essaie de l'utiliser:

public HttpResponseMessage<object> Test()
{
   return new HttpResponseMessage<object>(new { Message = "Hello" }, HttpStatusCode.OK);
}

Il sérialise l'ensemble de la HttpResponseMessage.

Quelqu'un peut-il me guider vers une solution où je peux retourner les types anonymes dans un HttpResponseMessage?

InformationsquelleAutor Magpie | 2012-04-12