7 mai 2026

OnSuspending : Demander au système plus de temps pour sauver ses données

« S’il vous plait m’sieur, j’peux avoir plus de temps pour mémoriser des données avant ? »

Dans l’App.Xaml.cs, vos pouvez « solliciter » le système pour qu’il vous attribue du rab pour finaliser une sauvegarde lorsque votre application passe à l’état de « Onsuspending » :
On lui demande via ExtendedExecutionSession. et ce qui est marrant c’est qu’on doit se justifier 🙂 avec ExtendedExecutionReason.

Entre le deferral qui permet d’indiquer au système que vous utilisez par exemple du code async et que vous avez besoin d’un peu de temps pour finaliser

[cc lang= »csharp » escaped= »true » width= »600″ nowrap= »0″ line_numbers= »0″ theme= »vsdark »]
private void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();

using (var session = new ExtendedExecutionSession{ Reason = ExtendedExecutionReason.SavingData})
{
session.Description = « Envoi des data »;

if (await session.RequestExtensionAsync () == ExtendedExecutionResult.Denied)
//le système veut pas, j’ai que 3 secondes
SauvegardeRapide();
else
//le système est ton pot, tu as 8 secondes
SauvegardeComplete();
}

deferral.Complete();
}
[/cc]

Facile non?

Laisser un commentaire