次の方法で共有


BackgroundTaskDeferral.Complete メソッド

定義

バックグラウンド タスクに関連付けられた非同期操作が完了したことをシステムに通知します。

public:
 virtual void Complete() = Complete;
void Complete();
public void Complete();
function complete()
Public Sub Complete ()

注釈

バックグラウンド タスクが非同期操作を使用している場合、バックグラウンド タスクの作業が完了する前に Run メソッドが戻る可能性があります。 Run メソッドが戻るとすぐに、システムはバックグラウンド タスクのホスト プロセスを中断または終了する可能性があります。これにより、バックグラウンド タスクによって開始された非同期操作が完了しなくなる可能性があります。

バックグラウンド タスクの実行中にホスト プロセスが中断または終了されないようにするには、 GetDeferral メソッドを使用して、開始された非同期操作ごとにバックグラウンド タスクの遅延を取得します。 次に、非同期操作が完了したら、BackgroundTaskDeferral.Complete メソッドを呼び出します。

すべてのバックグラウンド タスクの遅延が完了していることを確認します。 ほとんどのバックグラウンド タスクにはタイムアウトがあり、その後、保留中の遅延があるかどうかに関係なく、アプリが中断または終了されます。 ただし、未処理のバックグラウンド タスクの遅延を残すことは、プロセスの有効期間をタイムリーに管理するシステムの機能に干渉します。

適用対象