Progress

Progress

Ten przewodnik pokazuje, jak śledzić postęp długotrwałych operacji ładowania i zapisywania dokumentów.

Długotrwałe operacje ładowania i zapisywania mogą zgłaszać przyrostowy postęp za pomocą małej pary wywołań zwrotnych: IDocumentLoadingCallback dla ładowania i IDocumentSavingCallback dla zapisywania. Oba interfejsy mają taki sam kształt — pojedyncza metoda Notify(args) wywoływana przez Aspose.Words FOSS dla .NET w miarę postępu operacji.


Monitorowanie ładowania dokumentu

Zaimplementuj IDocumentLoadingCallback i przypisz implementację do LoadOptions.ProgressCallback przed załadowaniem dokumentu. Podczas ładowania wywoływana jest Notify(args) z instancją DocumentLoadingArgs, której właściwość EstimatedProgress (jest double) raportuje, jak daleko postępował proces ładowania.


Monitorowanie zapisywania dokumentu

Zaimplementuj IDocumentSavingCallback i przypisz go do SaveOptions.ProgressCallback przed wywołaniem Document.Save(fileName, saveOptions) (lub przeciążenia strumienia). Podczas zapisywania Notify(args) otrzymuje instancję DocumentSavingArgs, która podobnie udostępnia EstimatedProgress jako double.


Wskazówki i najlepsze praktyki

  • DocumentLoadingArgs i DocumentSavingArgs są klasami zamkniętymi, których jedynym członkiem jest EstimatedProgress — traktuj raportowanie postępu jako lekki sygnał w stylu procentowym dla informacji zwrotnej UI, a nie szczegółowy dziennik operacji.
  • Ustaw ProgressCallback na instancji LoadOptions lub SaveOptions przed przekazaniem jej do Document(fileName, loadOptions) lub Document.Save(fileName, saveOptions) — przypisanie później nie ma wpływu na operację już trwającą.
  • Użyj osobnej implementacji wywołania zwrotnego dla ładowania i zapisywania; IDocumentLoadingCallback i IDocumentSavingCallback są odrębnymi interfejsami, mimo że oba udostępniają jedną metodę Notify(args).

Typowe problemy

ProblemPrzyczynaNaprawa
Notify(args) nigdy nie jest wywoływanyProgressCallback nie został ustawiony na instancji LoadOptions/SaveOptions przekazanej do wywołania load lub savePrzypisz ProgressCallback przed wywołaniem Document(fileName, loadOptions) lub Document.Save(fileName, saveOptions)
Wywołanie zwrotne postępu kompiluje się z niewłaściwym typem argumentuIDocumentLoadingCallback.Notify przyjmuje DocumentLoadingArgs; IDocumentSavingCallback.Notify przyjmuje DocumentSavingArgs — nie są wymienneZaimplementuj interfejs, który odpowiada operacji (ładowanie vs. zapisywanie)

FAQ

Co oznacza EstimatedProgress?

Jest to właściwość double w DocumentLoadingArgs (podczas ładowania) lub DocumentSavingArgs (podczas zapisywania), która raportuje szacowany postęp zakończenia operacji.

Czy mogę anulować operację ładowania lub zapisu z poziomu wywołania zwrotnego postępu?

Notify(args) na obu interfejsach przyjmuje tylko obiekt argumentów (DocumentLoadingArgs lub DocumentSavingArgs); żaden z nich nie udostępnia flagi anulowania w tej powierzchni API.

Czy potrzebuję osobnych klas wywołań zwrotnych dla ładowania i zapisu?

Potrzebujesz osobnych implementacji IDocumentLoadingCallback i IDocumentSavingCallback odpowiednio, ponieważ są to różne interfejsy, choć pojedyncza klasa może implementować oba.


API Reference Podsumowanie

Klasa / InterfejsOpis
IDocumentLoadingCallbackNotify(args) — implementacja powiadomień o postępie ładowania
IDocumentSavingCallbackNotify(args) — implementacja powiadomień o postępie zapisywania
DocumentLoadingArgsEstimatedProgress: double — przekazywany do IDocumentLoadingCallback.Notify
DocumentSavingArgsEstimatedProgress: double — przekazywany do IDocumentSavingCallback.Notify
LoadOptions.ProgressCallbackDołącza IDocumentLoadingCallback do operacji ładowania
SaveOptions.ProgressCallbackDołącza IDocumentSavingCallback do operacji zapisu

Zobacz także

 Polski