次の方法で共有


IBackgroundTaskInstance.GetDeferral メソッド

定義

IBackgroundTask.Run メソッドが戻った後もバックグラウンド タスクが引き続き作業を実行する可能性があることをシステムに通知します。

public:
 BackgroundTaskDeferral ^ GetDeferral();
BackgroundTaskDeferral GetDeferral();
public BackgroundTaskDeferral GetDeferral();
function getDeferral()
Public Function GetDeferral () As BackgroundTaskDeferral

戻り値

バックグラウンド タスクの遅延。

注釈

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

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

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

適用対象