Progress

Progress

Panduan ini menunjukkan cara melacak kemajuan operasi pemuatan dan penyimpanan dokumen yang memakan waktu lama.

Operasi pemuatan dan penyimpanan yang memakan waktu lama dapat melaporkan kemajuan bertahap melalui sepasang callback kecil: IDocumentLoadingCallback untuk pemuatan dan IDocumentSavingCallback untuk penyimpanan. Kedua antarmuka memiliki bentuk yang sama — satu metode Notify(args) yang dipanggil oleh Aspose.Words FOSS untuk .NET seiring berjalannya operasi.


Memantau Pemuatan Dokumen

Implementasikan IDocumentLoadingCallback dan tetapkan implementasinya ke LoadOptions.ProgressCallback sebelum memuat dokumen. Selama pemuatan, Notify(args) dipanggil dengan sebuah instance DocumentLoadingArgs yang memiliki properti EstimatedProgress (sebuah double) yang melaporkan sejauh mana pemuatan telah berlangsung.


Memantau Penyimpanan Dokumen

Implementasikan IDocumentSavingCallback dan tetapkan ke SaveOptions.ProgressCallback sebelum memanggil Document.Save(fileName, saveOptions) (atau overload stream). Selama penyimpanan, Notify(args) menerima sebuah instance DocumentSavingArgs, yang juga mengekspos EstimatedProgress sebagai double.


Tips dan Praktik Terbaik

  • DocumentLoadingArgs dan DocumentSavingArgs adalah kelas sealed yang satu-satunya anggotanya adalah EstimatedProgress — perlakukan pelaporan kemajuan sebagai sinyal gaya persentase ringan untuk umpan balik UI, bukan log operasi yang terperinci.
  • Setel ProgressCallback pada instance LoadOptions atau SaveOptions sebelum meneruskannya ke Document(fileName, loadOptions) atau Document.Save(fileName, saveOptions) — penetapan setelah itu tidak berpengaruh pada operasi yang sudah berjalan.
  • Gunakan implementasi callback terpisah untuk memuat versus menyimpan; IDocumentLoadingCallback dan IDocumentSavingCallback adalah antarmuka yang berbeda meskipun keduanya mengekspos satu metode Notify(args).

Masalah Umum

MasalahPenyebabPerbaikan
Notify(args) tidak pernah dipanggilProgressCallback tidak disetel pada instance LoadOptions/SaveOptions yang diberikan ke panggilan load atau saveTetapkan ProgressCallback sebelum memanggil Document(fileName, loadOptions) atau Document.Save(fileName, saveOptions)
Callback kemajuan dikompilasi dengan tipe argumen yang salahIDocumentLoadingCallback.Notify menerima DocumentLoadingArgs; IDocumentSavingCallback.Notify menerima DocumentSavingArgs — mereka tidak dapat dipertukarkanImplementasikan antarmuka yang cocok dengan operasi (memuat vs. menyimpan)

FAQ

Apa yang EstimatedProgress representasikan?

Ini adalah properti double pada DocumentLoadingArgs (saat memuat) atau DocumentSavingArgs (saat menyimpan) yang melaporkan perkiraan kemajuan penyelesaian operasi.

Apakah saya dapat membatalkan operasi load atau save dari callback progres?

Notify(args) pada kedua antarmuka hanya menerima objek argumen (DocumentLoadingArgs atau DocumentSavingArgs); keduanya tidak menampilkan flag pembatalan dalam permukaan API ini.

Apakah saya memerlukan kelas callback terpisah untuk loading dan saving?

Anda memerlukan implementasi terpisah dari IDocumentLoadingCallback dan IDocumentSavingCallback masing-masing, karena keduanya merupakan antarmuka yang berbeda, meskipun satu kelas dapat mengimplementasikan keduanya.


API Reference Ringkasan

Kelas / AntarmukaDeskripsi
IDocumentLoadingCallbackNotify(args) — implement untuk notifikasi progres pemuatan
IDocumentSavingCallbackNotify(args) — implement untuk notifikasi progres penyimpanan
DocumentLoadingArgsEstimatedProgress: double — diteruskan ke IDocumentLoadingCallback.Notify
DocumentSavingArgsEstimatedProgress: double — dilewatkan ke IDocumentSavingCallback.Notify
LoadOptions.ProgressCallbackMelampirkan sebuah IDocumentLoadingCallback ke operasi pemuatan
SaveOptions.ProgressCallbackMelampirkan IDocumentSavingCallback ke operasi penyimpanan

Lihat Juga

 Bahasa Indonesia