0

我花了一个小时寻找但似​​乎找不到答案..当我只引用服务并使用回调时这很容易..但是从 windows Phone 8 我如何简单地从

http://punkoutersoftware.azurewebsites.net/api/Score (那里有简单的测试数据)

对于初学者来说,我很高兴有 RAW Text.. 从那里我想把它放在一个对象中.. 或者如果有一个“将 REST 数据放入你的 windows phone 8 应用程序 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");
    }
4

2 回答 2

1

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

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

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

于 2013-06-13T01:40:07.637 回答
1

有两个库可以帮助您在 Windows Phone 应用程序中使用 REST:“Hammock for Windows Phone”和“RestSharp”。两者都非常丰富,可以简化反序列化。

于 2013-06-13T07:17:51.970 回答