1

リモート サーバーにBackgroundTask接続し、何らかのアクション、ダウンロード、アップロードなどを実行する があります。このタスクは 15 分ごとに実行されます。

UI関連付けられたBackgroundTaskは、同じ以上のことを行います。

ただし、リモート サーバーではログインごとに 1 つのセッションしか許可されず、そのサーバーへのログインは 1 つしかありません。そのため、これら 2 つのいずれかがアクティブであり、両方がアクティブではないことを確認するための戦略が必要です。

LocalSettings現在、 UI が開いているかどうかを示す値を格納しています。UI が閉じている場合、 はBackgroundTask通常どおりに機能します。UIが開いている場合、はBackgroundTask何もしません。

BackgroundTaskこれは正常に動作しますが、実行の途中で UI が起動される場合を除きます。BackgroundTaskUI がリモート サーバーへのログインを使用できるように、UI の起動時にすぐにこれをキャンセルする方法が必要です。これを達成する方法に関するヒントや提案はありますか?

4

1 に答える 1

0

解決策を提供してくれたDave Smitsに感謝します。

手短に:

  • メソッドでCancellationイベントに登録します。Run
  • Cancellationイベント ハンドラーで、接続されているセッションが切断されていることを確認します。
  • オブジェクトでイベントOnLaunchedが発生すると、タスクイベントを発生させたタスク。AppUnregisterCancellation
于 2013-06-15T13:10:43.757 に答える