Menghentikan operasi penyimpanan yang menggantung

Kelas ‘InterruptMonitor’ memberikan kemampuan untuk menghentikan proses penyimpanan dokumen jika memakan waktu terlalu lama. (https://reference.aspose.com/pdf/net/aspose.pdf.multithreading/interruptmonitor/).

Potongan kode berikut juga bekerja dengan pustaka Aspose.PDF.Drawing.

Menggunakan InterruptMonitor

Mari kita soroti bahwa implementasi melibatkan beberapa langkah kunci:

  1. Pembuatan InterruptMonitor: Buat objek InterruptMonitor. Objek ini bertindak sebagai sinyal untuk interupsi thread.

  2. Penugasan ThreadLocalInstance: Sebelum memulai operasi Aspose.PDF yang berjalan lama, tetapkan instance InterruptMonitor ke InterruptMonitor.ThreadLocalInstance untuk thread saat ini. Ini menghubungkan monitor ke thread.

  3. Eksekusi Thread: Eksekusi kode yang berisi operasi Aspose.PDF (misalnya, Document.Save()) dalam thread terpisah.

  4. Sinyal Interupsi: Pada titik yang sesuai (misalnya, setelah waktu habis atau tindakan pengguna), panggil monitor.Interrupt(). Ini memberi sinyal kepada thread untuk menghentikan.

  5. Penanganan Eksepsi: Metode Document.Save() melempar OperationCanceledException jika terinterupsi. Tangani eksepsi ini menggunakan blok try-catch. Ingat bahwa penanganan eksepsi yang tepat sangat penting untuk stabilitas aplikasi.

Potongan kode berikut menunjukkan kepada Anda cara menggunakan InterruptMonitor dalam pemrosesan PDF.