アウトプロセスのバックグラウンド タスクをインプロセスのバックグラウンド タスクに移植するPort an out-of-process background task to an in-process background task

プロセス外 (OOP) のバックグラウンドアクティビティをインプロセスアクティビティに移植する最も簡単な方法は、 Ibackgroundtask を使用することです。アプリケーション内でメソッドコードを実行し、 Onbackgroundactivated アクティブにしてから開始します。The simplest way to port your out-of-process (OOP) background activity to in-process activity is to bring your IBackgroundTask.Run method code inside your application, and initiate it from OnBackgroundActivated. ここで説明する手法は、OOP バックグラウンドタスクからインプロセスバックグラウンドタスクに shim を作成することではありません。これは、OOP バージョンをインプロセスバージョンに書き直す (または移植する) ことです。The technique being described here is not about creating a shim from an OOP background task to an in-process background task; it's about rewriting (or porting) an OOP version to an in-process version.

アプリに複数バックグラウンド タスクがある場合、バックグラウンドのアクティブ化のサンプル に、BackgroundActivatedEventArgs.TaskInstance.Task.Name を使って開始されるタスクを識別する方法が示されています。If your app has multiple background tasks, the Background Activation Sample shows how you can use BackgroundActivatedEventArgs.TaskInstance.Task.Name to identify which task is being initiated.

現在、バックグラウンド プロセスとフォアグラウンド プロセスの間で通信している場合、その状態管理および通信コードを削除できます。If you are currently communicating between background and foreground processes, you can remove that state management and communication code.

変換できないバックグラウンド タスクとトリガーの種類Background tasks and trigger types that cannot be converted

  • インプロセスのバックグラウンド タスクでは、VoIP バックグラウンド タスクのアクティブ化がサポートされていません。In-process background tasks don't support activating a VoIP background task.
  • インプロセス バックグラウンド タスクでは、DeviceUseTriggerDeviceServicingTriggerIoTStartupTask の各トリガーがサポートされていません。In-process background tasks don't support the following triggers: DeviceUseTrigger, DeviceServicingTrigger and IoTStartupTask