0

私はWindowsPhone7アプリケーションを開発しています。このアプリケーションでは、クリックすると2つのアプリバーボタンが表示され、Webへの非同期呼び出しが行われ、Web応答時にコールバックが実行されます。

今私の問題は、1つのボタンをクリックし、非同期操作がバックグラウンドで実行されているときに、別のボタンをクリックすると、両方のコールバックが次々に実行されることです。これは明らかな理由で適切ではありません。誰かがこれを処理する方法について私を助けることができますか?

最初に、1つの非同期操作が行われているときに他のボタンを無効にすることを考えました。しかし、それはユーザーに良い感触を与えません。では、この問題を処理するための最良の方法は何でしょうか?

4

2 に答える 2

1

Flag変数を使用して、asynccallcompleteメソッド内でその値を確認できます。要件に基づいて、ビューを更新するかどうかを選択できます。

于 2011-06-06T13:02:53.210 に答える
0

私は同じ答えを探していました。

私は解決策を見つけました。このようなコンストラクター内でオブジェクトを初期化すると、サービス関数を呼び出すときに複数のループが発生します。

public partial class MainPage : PhoneApplicationPage
{
MovieServiceClient mov;

public MainPage()
{
mov = new MovieServiceClient(); //Don't do this.
InitializeComponent();

}
}

それを避けてください。

于 2012-12-18T20:21:47.167 に答える