1

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

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

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

2)如果数据检索成功,将数据作为对象保存在Isolated Storage中

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对象的页面上。

我该如何改进呢?

4

0 回答 0