Condividi tramite


BackgroundTaskDeferral.Complete Metodo

Definizione

Informa il sistema che un'operazione asincrona associata a un'attività in background è stata completata.

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

Commenti

Se un'attività in background usa un'operazione asincrona, è possibile che il metodo Run restituisca prima che l'attività in background abbia completato il suo lavoro. Non appena viene restituito il metodo Run , il sistema potrebbe sospendere o terminare il processo host attività in background, che potrebbe impedire il completamento delle operazioni asincrone avviate dall'attività in background.

Per mantenere sospeso o terminato il processo host durante l'esecuzione dell'attività in background, usare il metodo GetDeferral per ottenere un rinvio dell'attività in background per ogni operazione asincrona avviata. Al termine dell'operazione asincrona, quindi chiamare il metodo BackgroundTaskDeferral.Complete.

Assicurarsi di completare tutti i rinvii dell'attività in background. La maggior parte delle attività in background ha un timeout dopo il quale l'app verrà sospesa o terminata indipendentemente dal fatto che siano presenti rinvii in sospeso. Tuttavia, lasciando un rinvio delle attività in background in sospeso interferisce con la capacità del sistema di gestire la durata del processo in modo tempestivo.

Si applica a