保存操作の中断
残念ながら、ドキュメントの保存中にアプリケーションがハングし、応答しなくなる状況があります。この機能を使用すると、大きなまたは複雑なPDFドキュメントの保存などの長時間実行される操作を優雅にキャンセルでき、アプリケーションのフリーズを防ぎ、応答性を向上させることができます。この機能をアプリケーションに統合するための関連情報を見つけることができます。このアプローチにより、リソース集約型の操作中でもアプリケーションが応答し続けることが保証されます。
‘InterruptMonitor’クラスは、ドキュメントの保存プロセスを中断する機能を提供します(https://reference.aspose.com/pdf/net/aspose.pdf.multithreading/interruptmonitor/)。
以下のコードスニペットは、Aspose.PDF.Drawingライブラリでも機能します。
InterruptMonitorの使用
実装にはいくつかの重要なステップが含まれることを強調します:
-
InterruptMonitor
の作成: InterruptMonitor
オブジェクトをインスタンス化します。このオブジェクトは、スレッド中断の信号として機能します。
-
ThreadLocalInstance
の割り当て: 長時間実行されるAspose.PDF操作を開始する前に、現在のスレッドのInterruptMonitor.ThreadLocalInstance
にInterruptMonitor
インスタンスを割り当てます。これにより、モニターがスレッドにリンクされます。
-
スレッドの実行: Aspose.PDF操作(例:Document.Save()
)を含むコードを別のスレッド内で実行します。
-
中断信号: 適切なポイント(例:タイムアウト後またはユーザーアクション後)でmonitor.Interrupt()
を呼び出します。これにより、スレッドに終了を通知します。
-
例外処理: 中断された場合、Document.Save()
メソッドはOperationCanceledException
をスローします。この例外をtry-catch
ブロックを使用して処理します。適切な例外処理はアプリケーションの安定性にとって重要です。
以下のコードスニペットは、PDF処理におけるInterruptMonitorの使用方法を示しています。