2012-07-10 58 views
1

我使用的Visual Studio Express的2012 RC设计的Windows 8替代webclient.uploadstringasync为Windows 8 Metro风格应用在C#

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

我试过使用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); 
} 
+0

当您尝试使用'的HttpClient发生了什么事。 PostAsync'?你能给一个代码示例吗?这听起来像是你正在寻找的替代方案。 – 2012-07-10 19:12:45

+0

@DanielSklenitzka用代码示例更新了问题。请帮助谢谢 – prolific 2012-07-11 10:40:28

+0

是否有任何异常?你在菲德勒看到什么? – 2012-07-11 11:32:12

回答

0

请期待BackgroundUploader类为Windows 8提供的重载方法可能有助于实现您的要求

MSDN

+0

我不认为我应该使用这个,因为我只是想上传一个小字符串,这将是一个kb ...它显然写在您提供的链接,我应该只使用这种方法,如果我想上传像音乐,视频等文件。 – prolific 2012-07-11 10:43:20

+0

我同意你我只是给你一个替代品,不知道你会上传多少数据。我很高兴删除我的答案 – HatSoft 2012-07-11 10:44:40

+0

不,你不必删除你的答案....现在我已经在问题中添加了代码示例....你现在可以回答我吗? – prolific 2012-07-11 10:53:42

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"); 
相关问题