Interrumpir la operación de guardado que se cuelga

La clase ‘InterruptMonitor’ proporciona la capacidad de interrumpir el proceso de guardado del documento si tarda demasiado. (https://reference.aspose.com/pdf/es/net/aspose.pdf.multithreading/interruptmonitor/).

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

Usando InterruptMonitor

Destacamos que la implementación implica varios pasos clave:

  1. Creación de InterruptMonitor: Instancia un objeto InterruptMonitor. Este objeto actúa como una señal para la interrupción de hilos.

  2. Asignación de ThreadLocalInstance: Antes de iniciar la operación de Aspose.PDF de larga duración, asigna la instancia de InterruptMonitor a InterruptMonitor.ThreadLocalInstance para el hilo actual. Esto vincula el monitor al hilo.

  3. Ejecución del Hilo: Ejecuta el código que contiene la operación de Aspose.PDF (por ejemplo, Document.Save()) dentro de un hilo separado.

  4. Señal de Interrupción: En un punto adecuado (por ejemplo, después de un tiempo de espera o acción del usuario), llama a monitor.Interrupt(). Esto señala al hilo que debe terminar.

  5. Manejo de Excepciones: El método Document.Save() lanza una OperationCanceledException si se interrumpe. Maneja esta excepción utilizando un bloque try-catch. Recuerda que un manejo adecuado de excepciones es crucial para la estabilidad de la aplicación.

El siguiente fragmento de código te muestra cómo usar InterruptMonitor en el procesamiento de PDF.