إيقاف عملية الحفظ المعلقة

تقدم فئة ‘InterruptMonitor’ القدرة على إيقاف عملية حفظ المستند إذا استغرقت وقتًا طويلاً. (https://reference.aspose.com/pdf/ar/net/aspose.pdf.multithreading/interruptmonitor/).

تعمل مقتطفات الشيفرة التالية أيضًا مع مكتبة Aspose.PDF.Drawing.

استخدام InterruptMonitor

دعنا نبرز أن التنفيذ يتضمن عدة خطوات رئيسية:

  1. إنشاء InterruptMonitor: قم بإنشاء كائن InterruptMonitor. يعمل هذا الكائن كإشارة لإيقاف الخيوط.

  2. تعيين ThreadLocalInstance: قبل بدء عملية Aspose.PDF الطويلة، قم بتعيين مثيل InterruptMonitor إلى InterruptMonitor.ThreadLocalInstance للخيط الحالي. هذا يربط المراقب بالخيط.

  3. تنفيذ الخيط: نفذ الشيفرة التي تحتوي على عملية Aspose.PDF (مثل Document.Save()) داخل خيط منفصل.

  4. إشارة الإيقاف: في نقطة مناسبة (مثل بعد انتهاء المهلة أو إجراء المستخدم)، قم باستدعاء monitor.Interrupt(). هذه إشارة للخيط لإنهاء.

  5. معالجة الاستثناءات: تقوم طريقة Document.Save() بإلقاء استثناء OperationCanceledException إذا تم إيقافها. تعامل مع هذا الاستثناء باستخدام كتلة try-catch. تذكر أن معالجة الاستثناءات بشكل صحيح أمر حاسم لاستقرار التطبيق.

تظهر مقتطفات الشيفرة التالية كيفية استخدام InterruptMonitor في معالجة PDF.