Hun*_*len 10 c# windows-phone-8
我是C#和Windows手机的新手,我正在尝试创建一个执行JSON请求的小应用程序.我正在关注此帖子中的示例/sf/answers/349216661/
我目前的代码是这样的:
public string login()
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create(MY_URL);
httpWebRequest.ContentType = "text/plain";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string text = MY_JSON_STRING;
streamWriter.Write(text);
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某些原因,Visual Studio正在标记GetRequestStream()错误消息:
错误CS1061:'System.Net.HttpWebRequest'不包含'GetRequestStream'的定义,并且没有可以找到接受类型'System.Net.HttpWebRequest'的第一个参数的扩展方法'GetRequestStream'(您是否缺少using指令或装配参考?)
有关为什么会发生这种情况的任何想法?我已经导入了System.Net包.
Pet*_*ene 15
HttpWebRequest在WP8 中没有GetRequestStream或GetRequestStreamAsync.你最好的办法就是创建一个Task并等待它,就像这样:
using (var stream = await Task.Factory.FromAsync<Stream>(request.BeginGetRequestStream, request.EndGetRequestStream, null))
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
编辑:正如您所提到的,您是C#的新手,您需要使用您的登录方法异步才能使用await关键字:
public async Task<string> LoginAsync()
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
要登录的呼叫者在呼叫时需要使用await关键字:
string result = await foo.LoginAsync();
Run Code Online (Sandbox Code Playgroud)
这是关于这个主题的一个很好的入门:http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx
| 归档时间: |
|
| 查看次数: |
13844 次 |
| 最近记录: |