WP8改进了检索数据

时间:2013-09-25 13:15:24

标签: c# wcf singleton windows-phone isolatedstorage

我有一个Windows Phone 8应用程序,我从WCF应用程序获取JSON格式的一些数据。

在应用程序启动时,我正在执行以下任务:

1)是否有本地保存的对象,如果没有,则从WCF获取数据

2)如果数据检索成功,请将数据保存为隔离存储中的对象

3)等等

我在这里看到的问题是,当从服务器检索数据时,用户将到达检索到的数据应显示的下一页。

这是我的代码:

public void GetSomething()
{
    var webClient = new WebClient();
    var uri = new Uri("URL Goes Here");
    webClient.OpenReadCompleted += webClient_OpenReadCompleted;
    webClient.OpenReadAsync(uri);
}

private void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    using (var sr = new StreamReader(e.Result))
    {
        string data = sr.ReadToEnd();
        var result = JsonConvert.DeserializeObject<Response>(data);
        var isolatedStorage = new IsolatedStorage();
        isolatedStorage.SaveSightingTypes(SightingTypes.List);

        // Store in Singleton Object
        SightingTypes.List = result.SightingTypes;
    }

从服务器发送数据时会运行webClient_OpenReadCompleted方法。但如上所述,这有时会在3/4秒后触发,到那时,用户将在我需要SightingTypes.List对象的页面上。

我该如何改善这个?

0 个答案:

没有答案