API da Web: conteúdo em HttpResponseMessage

Em um dos meus pedidos Get, eu quero retornar um HttpResponseMessage com algum conteúdo. Atualmente eu tenho isso funcionando da seguinte forma:

var header = new MediaTypeHeaderValue("text/xml");
Request.CreateResponse(HttpStatusCode.OK, myObject, header);

No entanto, desde que eu estou usando o pedido estático, isso se torna realmente difícil de testar. Pelo que li, eu deveria ser capaz de fazer o seguinte:

return new HttpResponseMessage<T>(objectInstance);

No entanto, parece não ser capaz de fazer isso. É porque estou usando uma versão antiga do WebApi / .NET?

Em uma nota lateral, descobri que você poderia criar uma resposta da seguinte maneira:

var response = new HttpResponseMessage();
response.Content = new ObjectContent(typeof(T), objectInstance, mediaTypeFormatter);

O que me intrigou é por que eu tenho que adicionar um mediaTypeFormatter aqui. Eu adicionei o formatador de tipo de mídia no nível global.asax.

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion