MVC 4 Web Api Post

Quiero realizar una inserción desde un cliente distante para lo que necesito enviar datos a través de http.
Puedo usar elgetPerformances() correctamente con unhttpClient api/performances?date={0}

Quiero preguntar si mipostPorformances() implícito dentro de miPerformancesController es correcto y si es cómo llamarlo desde un cliente?

Aquí está mi implementación:

public class PerformancesController : ApiController
    {
        // GET api/performances
        public IEnumerable<Performance> getPerformances(DateTime date)
        {
            return DataProvider.Instance.getPerformances(date);
        }

        public HttpResponseMessage postPerformances(Performance p)
        {
            DataProvider.Instance.insertPerformance(p);
            var response = Request.CreateResponse<Performance>(HttpStatusCode.Created, p);
            return response;
        }
    }
public class Performance {
    public int Id {get;set;}
    public DateTime Date {get;set;}
    public decimal Value {get;set;}
}

He probado este pero estoy seguro de que:

  private readonly HttpClient _client;
  string request = String.Format("api/performances");
  var jsonString = "{\"Date\":" + p.Date + ",\"Value\":" + p.Value + "}";
  var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
  var message = await _client.PutAsync(request, httpContent);

Respuestas a la pregunta(1)

Su respuesta a la pregunta