C# 用于c中windows 8 metro风格应用程序的webclient.uploadstringasync的替代方案#

C# 用于c中windows 8 metro风格应用程序的webclient.uploadstringasync的替代方案#,c#,windows,post,httpclient,webclient,C#,Windows,Post,Httpclient,Webclient,我正在使用Visual Studio Express 2012 RC为windows 8设计metro风格的应用程序 过去,我为windows phone开发了一个应用程序,其中我使用webclient.uploadstringasync将字符串数据发布到服务器。但由于windows 8不支持webclient,我正在搜索它的替代方案 我试过使用httpclient.postasync,但没有成功(不知道为什么) 谁能建议我怎么办。请解释你建议的任何方法,并试着举例说明。我是c#的初学者,所以任

我正在使用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);  
}

请查看windows 8的BackgroundUploader类。它提供了重载方法,可能有助于实现您的要求


请查看windows 8的BackgroundUploader类。它提供了重载方法,可能有助于满足您的要求


当您尝试使用
HttpClient.PostAsync
时发生了什么?你能给出一个代码示例吗?听起来这似乎是您正在寻找的备选方案。@DanielSklenitzka用代码示例更新了该问题。。请帮助感谢有任何异常吗?你在Fiddler中看到了什么?@StephenCleary根本没有错误……应用程序运行得很好,但我看不到任何发布到服务器上的字符串……我在webclient中使用了post方法,但在httpclient中它工作得很好,但在httpclient中它不是wokring……。我必须提到,我想在httpclient中使用post方法,就像我们必须使用的那样吗您是否在webclient中声明了功能?您是否声明了
internetClient
功能?尝试使用
HttpClient.PostAsync
时发生了什么?你能给出一个代码示例吗?听起来这似乎是您正在寻找的备选方案。@DanielSklenitzka用代码示例更新了该问题。。请帮助感谢有任何异常吗?你在Fiddler中看到了什么?@StephenCleary根本没有错误……应用程序运行得很好,但我看不到任何发布到服务器上的字符串……我在webclient中使用了post方法,但在httpclient中它工作得很好,但在httpclient中它不是wokring……。我必须提到,我想在httpclient中使用post方法,就像我们必须使用的那样吗您是否在webclient中使用了?您是否声明了
internetClient
功能?我不认为我应该使用此功能,因为我只是尝试上载一个kb大小的小字符串…您提供的链接上清楚地写着,如果我想上载音乐之类的文件,我只应使用此方法,视频等。我同意你的看法,我只是给你一个备选方案,不知道你将上传多少数据。我很高兴删除我的答案不,你不必删除你的答案…现在我在问题中添加了代码示例…你现在可以回答我吗?我不认为我应该使用这个,因为我只是想上传一个kb大小的小字符串…它清楚地写在你提供的链接上,如果我想使用这个方法,我应该只使用这个方法上传音乐、视频等文件。我同意你的看法,我只是给你一个备选方案,不知道你将上传多少数据。我很高兴删除我的答案否你不必删除你的答案…现在我在问题中添加了代码示例…你现在能回答我吗?
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");