Leia HttpContent no controlador WebApi

Como posso ler o conteúdo na solicitação PUT na ação do controlador MVC webApi.

[HttpPut]
public HttpResponseMessage Put(int accountId, Contact contact)
{
    var httpContent = Request.Content;
    var asyncContent = httpContent.ReadAsStringAsync().Result;
...

Eu recebo uma string vazia aqui :(

O que eu preciso fazer é: descobrir "quais propriedades" foram modificadas / enviadas na solicitação inicial (o que significa que se oContact objeto tem 10 propriedades, e eu quero atualizar apenas 2 delas, eu envio e objeto com apenas duas propriedades, algo assim:

{

    "FirstName": null,
    "LastName": null,
    "id": 21
}

O resultado final esperado é

List<string> modified_properties = {"FirstName", "LastName"}

questionAnswers(4)

yourAnswerToTheQuestion