Malheureusement, il existe des situations où l’application se bloque lors de la sauvegarde de documents et cesse de répondre. Cette fonctionnalité vous permet d’annuler gracieusement les opérations de longue durée, telles que la sauvegarde de documents PDF volumineux ou complexes, empêchant ainsi les gels de l’application et améliorant la réactivité. Vous trouverez les informations pertinentes pour intégrer cette fonctionnalité dans vos applications. Notez que cette approche garantit que votre application reste réactive même pendant des opérations gourmandes en ressources.
Le code suivant fonctionne également avec la bibliothèque Aspose.PDF.Drawing.
Utilisation d’InterruptMonitor
Soulignons que l’implémentation implique plusieurs étapes clés :
Création d’InterruptMonitor : Instanciez un objet InterruptMonitor. Cet objet agit comme un signal pour l’interruption de thread.
Attribution de ThreadLocalInstance : Avant de commencer l’opération Aspose.PDF de longue durée, attribuez l’instance InterruptMonitor à InterruptMonitor.ThreadLocalInstance pour le thread actuel. Cela lie le moniteur au thread.
Exécution du Thread : Exécutez le code contenant l’opération Aspose.PDF (par exemple, Document.Save()) dans un thread séparé.
Signal d’Interruption : À un moment approprié (par exemple, après un délai d’attente ou une action de l’utilisateur), appelez monitor.Interrupt(). Cela signale au thread de se terminer.
Gestion des Exceptions : La méthode Document.Save() lance une OperationCanceledException si elle est interrompue. Gérez cette exception à l’aide d’un bloc try-catch. N’oubliez pas qu’une gestion appropriée des exceptions est cruciale pour la stabilité de l’application.
Le code suivant vous montre comment utiliser InterruptMonitor dans le traitement PDF.