只需要一个简单的方法来请求休息数据从我的服务器从windows手机
本文关键字:数据 请求 我的 手机 windows 服务器 方法 简单 一个 | 更新日期: 2023-09-27 18:18:01
我花了一个小时找,但似乎找不到答案。当我只引用一个服务并使用回调时,这很容易。但在windows Phone 8中,如何从
读取jsonhttp://punkoutersoftware.azurewebsites.net/api/Score(简单测试数据有)
对于初学者,我会很高兴有RAW文本。从那里我想把它放到一个对象中…或者如果有一篇"在windows phone 8应用程序中获取REST数据101"的文章会有所帮助…
我想我也会使用新的async/await .
目前为止我最好的尝试是
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
string uriString = "http://punkoutersoftware.azurewebsites.net/api/Score";
var uri = new Uri(uriString);
var httpWebRequest = HttpWebRequest.Create(uri);
httpWebRequest.BeginGetResponse(new AsyncCallback(OnGettingResponse), httpWebRequest);
}
private void OnGettingResponse(IAsyncResult ar)
{
var req = ar.AsyncState as HttpWebRequest;
var response = (HttpWebResponse)req.EndGetResponse(ar);
var responseStream = response.GetResponseStream();
}
编辑1:
这就是我所需要的吗?responseBodyAsText似乎没有值在它之后,我运行那行?
private async void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
HttpClient httpClient = new HttpClient();
string responseBodyAsText = await httpClient.GetStringAsync("http://punkoutersoftware.azurewebsites.net/api/Score");
}
尝试使用HttpClient,它不那么笨拙,语法更友好。
将数据输入手机没有捷径,至少,您必须创建一个类并将json字符串反序列化为对象。有几个有用的工具可用,如JSON.net用于反序列化,json2sharp用于像你和我这样的懒人直接从json创建类
我也会重新考虑把HTTP请求放在其他事件中,把它放在加载的事件中会在每次用户来回导航时触发它
有两个库可以帮助你在Windows Phone应用程序中使用REST: 'Hammock for Windows Phone'和'RestSharp'。