如何使用 Windows Phone 8 POST 到 RESTful API

问题描述:

谁能给我指出一个如何使用 Windows Phone 8POST JSON 到 RESTful API(例如 Web API)的工作示例?我有一个 GET 的工作示例,但似乎找不到任何 POST 的工作示例.我为 C# 找到的所有 POST 示例都不适用于 Windows Phone 8(由于精简的 .NET 框架).

Can anyone point me to a working example of how to POST JSON to a RESTful API (e.g. Web API) using Windows Phone 8? I have a working example for GET but can't seem to find any working examples for POST. All of the POST examples I've found for C# don't work on Windows Phone 8 (due to the stripped down .NET framework).

好的,我终于想出了一个可行的解决方案,所以我想把它发回来以确保完整性.但是,如果有人知道在 Windows Phone 8 中执行此操作的更好方法,我很乐意看到它!

Ok, I was finally able to come up with a working solution so I wanted to post it back for completeness. However, if anyone knows of a better way to do this in Windows Phone 8, I'd love to see it!

public void SendPost(Uri uri, string json)
{
    var webClient = new WebClient();

    webClient.Headers[HttpRequestHeader.ContentType] = "application/json";
    webClient.UploadStringCompleted += this.sendPostCompleted;
    webClient.UploadStringAsync(uri, "POST", json);
}

private void sendPostCompleted(object sender, UploadStringCompletedEventArgs e)
{
    // Handle result
    Console.WriteLine("HTTP POST Result: {0}", e.Result);
}