Progress

Progress

این راهنما نشان می‌دهد چگونه پیشرفت عملیات‌های طولانی‌مدت بارگذاری و ذخیره‌سازی سند را ردیابی کنیم.

عملیات‌های طولانی‌مدت بارگذاری و ذخیره‌سازی می‌توانند پیشرفت گام به گام را از طریق یک جفت فراخوانی کوچک گزارش دهند: IDocumentLoadingCallback برای بارگذاری و IDocumentSavingCallback برای ذخیره‌سازی. هر دو رابط به همان شکل هستند — یک روش Notify(args) واحد که توسط Aspose.Words FOSS برای .NET در حین پیشرفت عملیات فراخوانی می‌شود.


پایش بارگذاری سند

روش IDocumentLoadingCallback را پیاده‌سازی کنید و قبل از بارگذاری یک سند، پیاده‌سازی را به LoadOptions.ProgressCallback اختصاص دهید. در طول بارگذاری، Notify(args) با یک نمونه DocumentLoadingArgs فراخوانی می‌شود که ویژگی EstimatedProgress آن (یک double) میزان پیشرفت بارگذاری را گزارش می‌دهد.


پایش ذخیره‌سازی سند

روش IDocumentSavingCallback را پیاده‌سازی کنید و قبل از فراخوانی Document.Save(fileName, saveOptions) (یا نسخهٔ جریان) آن را به SaveOptions.ProgressCallback اختصاص دهید. در طول ذخیره‌سازی، Notify(args) یک نمونهٔ DocumentSavingArgs دریافت می‌کند که به همان ترتیب EstimatedProgress را به عنوان یک double در دسترس قرار می‌دهد.


نکات و بهترین شیوه‌ها

  • DocumentLoadingArgs و DocumentSavingArgs کلاس‌های sealed هستند که تنها عضوشان EstimatedProgress است — گزارش پیشرفت را به عنوان سیگنال سبک درصدی برای بازخورد UI در نظر بگیرید، نه یک لاگ عملیات دقیق.
  • مقدار ProgressCallback را روی نمونه LoadOptions یا SaveOptions تنظیم کنید قبل از اینکه آن را به Document(fileName, loadOptions) یا Document.Save(fileName, saveOptions) پاس بدهید — تخصیص آن پس از آن هیچ اثری بر عملیاتی که در حال اجراست ندارد.
  • از یک پیاده‌سازی جداگانهٔ callback برای بارگذاری و ذخیره‌سازی استفاده کنید؛ IDocumentLoadingCallback و IDocumentSavingCallback رابط‌های متمایزی هستند حتی اگر هر دو یک متد Notify(args) را ارائه دهند.

مسائل رایج

مشکلدلیلرفع
Notify(args) هرگز فراخوانی نمی‌شودProgressCallback بر روی نمونه LoadOptions/SaveOptions که به فراخوانی load یا save پاس داده شده تنظیم نشده بودقبل از فراخوانی Document(fileName, loadOptions) یا Document.Save(fileName, saveOptions)، ProgressCallback را اختصاص دهید
کال‌بک پیشرفت با نوع آرگومان نادرست کامپایل می‌شودIDocumentLoadingCallback.Notify DocumentLoadingArgs می‌گیرد؛ IDocumentSavingCallback.Notify DocumentSavingArgs می‌گیرد — آن‌ها قابل تعویض نیستندرابطی را پیاده‌سازی کنید که با عملیات (بارگذاری در مقابل ذخیره‌سازی) مطابقت داشته باشد

FAQ

EstimatedProgress چه معنایی دارد؟

این یک ویژگی double بر روی DocumentLoadingArgs (در حین بارگذاری) یا DocumentSavingArgs (در حین ذخیره‌سازی) است که پیشرفت تخمینی تکمیل عملیات را گزارش می‌دهد.

آیا می‌توانم عملیات بارگذاری یا ذخیره‌سازی را از callback پیشرفت لغو کنم؟

Notify(args) در هر دو رابط فقط شیء آرگومان‌ها (DocumentLoadingArgs یا DocumentSavingArgs) را می‌گیرد؛ هیچ‌کدام در این سطح API پرچم لغو را نشان نمی‌دهند.

آیا برای بارگذاری و ذخیره‌سازی به کلاس‌های callback جداگانه نیاز دارم؟

شما به پیاده‌سازی‌های جداگانهٔ IDocumentLoadingCallback و IDocumentSavingCallback به ترتیب نیاز دارید، چون این‌ها رابط‌های متفاوتی هستند، اگرچه یک کلاس می‌تواند هر دو را پیاده‌سازی کند.


API Reference خلاصه

کلاس / رابطتوضیح
IDocumentLoadingCallbackNotify(args) — برای اعلان‌های پیشرفت بارگذاری پیاده‌سازی کنید
IDocumentSavingCallbackNotify(args) — برای اعلان‌های پیشرفت ذخیره‌سازی پیاده‌سازی کنید
DocumentLoadingArgsEstimatedProgress: double — به IDocumentLoadingCallback.Notify ارسال شد
DocumentSavingArgsEstimatedProgress: double — به IDocumentSavingCallback.Notify ارسال شد
LoadOptions.ProgressCallbackیک IDocumentLoadingCallback را به یک عملیات بارگذاری الصاق می‌کند
SaveOptions.ProgressCallbackیک IDocumentSavingCallback را به یک عملیات ذخیره‌سازی الصاق می‌کند

همچنین ببینید:

 فارسی