替换为webclient.uploadstringasync为c#中的Windows 8 metro风格应用程序

时间:2012-07-10 19:00:48

标签: c# windows post httpclient webclient

我正在使用Visual Studio Express 2012 RC为Windows 8设计我的metro风格应用程序。

过去,我开发了一款适用于Windows Phone的应用程序,其中我使用webclient.uploadstringasync将字符串数据发布到服务器。但由于Windows 8不存在webclient,我正在寻找它的替代方案。

我尝试使用httpclient.postasync,但它不起作用(不知道为什么)。

任何人都可以建议我做什么。请解释您建议的任何方法并尝试举例。我是c#的初学者,所以任何帮助都会有效。感谢

以下是我与httpclient.postasync一起使用但未使用的代码示例(不知道原因)。

HttpClient data=new HttpClient();
HttpContent post;
async private void buttonupdate_Click(object sender, RoutedEventArgs e)
{
    post=new StringContent("I put the string here which is to be posted");
    await data.PostAsync(URI,post);  
}

2 个答案:

答案 0 :(得分:1)

HttpContent stringContent = new StringContent("Put Your Data Here");
stringContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/x-www-form-urlencoded");
stringContent.Headers.ContentLength = uriString.Length;
stringContent.Headers.ContentEncoding.Add("UTF-8");

答案 1 :(得分:0)

请查看适用于Windows 8的BackgroundUploader类,它提供了可能有助于满足您需求的重载方法

MSDN