POSTing JSON na URL przez WebClient w C #

Mam kod JavaScript, który muszę przekonwertować na C #. Mój kod JavaScript POST przesyła JSON do utworzonej usługi internetowej. Ten kod JavaScript działa poprawnie i wygląda następująco:

var vm = { k: "1", a: "2", c: "3", v: "4" };
$.ajax({
  url: "http://www.mysite.com/1.0/service/action",
  type: "POST",
  data: JSON.stringify(vm),
  contentType: "application/json;charset=utf-8",
  success: action_Succeeded,
  error: action_Failed
});

function action_Succeeded(r) {
  console.log(r);
}

function log_Failed(r1, r2, r3) {
  alert("fail");
}

Próbuję dowiedzieć się, jak przekonwertować to na C #. Moja aplikacja korzysta z .NET 2.0. Z tego co mogę powiedzieć, muszę zrobić coś takiego:

using (WebClient client = new WebClient())
{
  string json = "?";
  client.UploadString("http://www.mysite.com/1.0/service/action", json);
}

Trochę utknąłem w tym momencie. Nie wiem cojson powinien wyglądać. Nie jestem pewien, czy muszę ustawić typ zawartości. Jeśli to zrobię, nie jestem pewien, jak to zrobić. Widziałem teżUploadData. Więc nie jestem pewien, czy nawet stosuję właściwą metodę. W pewnym sensie serializacja moich danych jest moim problemem.

Czy ktoś może mi powiedzieć, czego tu brakuje?

Dziękuję Ci!

questionAnswers(3)

yourAnswerToTheQuestion