Interromper operação de salvamento pendente

A classe ‘InterruptMonitor’ fornece a capacidade de interromper o processo de salvamento do documento se ele demorar demais. (https://reference.aspose.com/pdf/net/aspose.pdf.multithreading/interruptmonitor/).

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

Usando InterruptMonitor

Vamos destacar que a implementação envolve várias etapas-chave:

  1. Criação do InterruptMonitor: Instancie um objeto InterruptMonitor. Este objeto atua como um sinal para a interrupção da thread.

  2. Atribuição de ThreadLocalInstance: Antes de iniciar a operação de longa duração do Aspose.PDF, atribua a instância do InterruptMonitor a InterruptMonitor.ThreadLocalInstance para a thread atual. Isso vincula o monitor à thread.

  3. Execução da Thread: Execute o código contendo a operação do Aspose.PDF (por exemplo, Document.Save()) dentro de uma thread separada.

  4. Sinal de Interrupção: Em um ponto adequado (por exemplo, após um tempo limite ou ação do usuário), chame monitor.Interrupt(). Isso sinaliza a thread para terminar.

  5. Tratamento de Exceções: O método Document.Save() lança uma OperationCanceledException se for interrompido. Trate essa exceção usando um bloco try-catch. Lembre-se de que o tratamento adequado de exceções é crucial para a estabilidade do aplicativo.

O seguinte trecho de código mostra como usar o InterruptMonitor no processamento de PDF.