Lea HttpContent en el controlador WebApi

¿Cómo puedo leer el contenido de la solicitud PUT en la acción del controlador MVC webApi?

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

Me sale una cuerda vacía aquí :(

Lo que debo hacer es: averiguar "qué propiedades" se modificaron / enviaron en la solicitud inicial (lo que significa que si elContact el objeto tiene 10 propiedades, y quiero actualizar solo 2 de ellas, envío y objeto con solo dos propiedades, algo como esto:

{

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

El resultado final esperado es

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta