只需要一个简单的方法来请求休息数据从我的服务器从windows手机

本文关键字:数据 请求 我的 手机 windows 服务器 方法 简单 一个 | 更新日期: 2023-09-27 18:18:01

我花了一个小时找,但似乎找不到答案。当我只引用一个服务并使用回调时,这很容易。但在windows Phone 8中,如何从

读取json

http://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");
    }

只需要一个简单的方法来请求休息数据从我的服务器从windows手机

尝试使用HttpClient,它不那么笨拙,语法更友好。

将数据输入手机没有捷径,至少,您必须创建一个类并将json字符串反序列化为对象。有几个有用的工具可用,如JSON.net用于反序列化,json2sharp用于像你和我这样的懒人直接从json创建类

我也会重新考虑把HTTP请求放在其他事件中,把它放在加载的事件中会在每次用户来回导航时触发它

有两个库可以帮助你在Windows Phone应用程序中使用REST: 'Hammock for Windows Phone'和'RestSharp'。