我有一个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
对象的页面上。
我该如何改善这个?