0

WebClient UploadStringAsyncトゥームストーンのアプリケーションがトゥームストーンされる前に、応答が返されるまで待つ必要があります。UIスレッドを数秒間ブロックすることでそれを達成しようとしましたが、UIがブロックされると、応答がないことに気付きました。私がロックを解除しているとき(Thread.sleepまたはであるマザーはありませんManualResetEvent)、この同じ瞬間に応答が来ています。もちろん、UI以外のスレッドUploadStringAsyncで作業しています。UploadStringCompleted多分あなたはこれらの行動の理由が何であるか知っているでしょう?

4

1 に答える 1

2

これを行うことはできませんし、すべきではありません。

アプリが非アクティブ化されているときに無期限にブロックすることはできません。これは、OSで許可されないためです。また、Webリクエストにかかる時間や可能性さえもわからないため、無期限に更新する必要があります。

代わりに、アプリの通常の使用中の適切な時間(または複数の時間)にデータをWebサーバーに送信する必要があります。非アクティブ化中に特定の状態を保存する場合は、これを(適切なものとして)保持し、アプリケーションが再アクティブ化または再起動されたときに送信する必要があります(データのタイプと関連性に応じて適切に)。

于 2012-05-28T10:42:59.147 に答える