1

WCF アプリケーションから JSON 形式のデータを取得している Windows Phone 8 アプリケーションがあります。

アプリケーションの起動時に、次のようなタスクを実行しています:

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ます。

どうすればこれを改善できますか?

4

0 に答える 0