Fazer a portabilidade de uma tarefa em segundo plano fora do processo para uma tarefa em segundo plano no processo

A maneira mais simples de portar sua atividade em segundo plano de OOP (fora do processo) para a atividade em processo é trazer o código do método IBackgroundTask.Run para dentro do aplicativo e iniciá-lo a partir de OnBackgroundActivated. A técnica descrita aqui não se trata de criar um shim de uma tarefa em segundo plano de OOP para uma tarefa em segundo plano no processo; trata-se de reescrever (ou portar) uma versão do OOP para uma versão em processo.

Se seu aplicativo tem várias tarefas em segundo plano, o Exemplo de ativação em segundo plano mostra como usar BackgroundActivatedEventArgs.TaskInstance.Task.Name para identificar qual tarefa está sendo iniciada.

Se você estiver atualmente se comunicando entre processos em primeiro e segundo planos, poderá remover esse código de comunicação e gerenciamento de estado.

Tarefas em segundo plano e tipos de gatilho que não podem ser convertidos

  • Tarefas em segundo plano no processo não dão suporte à ativação de uma tarefa em segundo plano de VoIP.
  • As tarefas em segundo plano no processo não dão suporte aos seguintes gatilhos: DeviceUseTrigger, DeviceServicingTrigger e IoTStartupTask