Progress

Progress

Dieser Leitfaden zeigt, wie man den Fortschritt von langlaufenden Dokument-Lade- und Speicheroperationen verfolgt.

Langlaufende Lade- und Speicheroperationen können den inkrementellen Fortschritt über ein kleines Callback-Paar melden: IDocumentLoadingCallback für das Laden und IDocumentSavingCallback für das Speichern. Beide Schnittstellen folgen derselben Form – eine einzelne Notify(args)-Methode, die von Aspose.Words FOSS für .NET aufgerufen wird, während die Operation fortschreitet.


Überwachung des Dokumentladens

Implementieren Sie IDocumentLoadingCallback und weisen Sie die Implementierung LoadOptions.ProgressCallback zu, bevor ein Dokument geladen wird. Während des Ladens wird Notify(args) mit einer DocumentLoadingArgs-Instanz aufgerufen, deren Eigenschaft EstimatedProgress (ein double) angibt, wie weit der Ladevorgang fortgeschritten ist.


Überwachung des Dokumentspeicherns

Implementieren Sie IDocumentSavingCallback und weisen Sie es SaveOptions.ProgressCallback zu, bevor Sie Document.Save(fileName, saveOptions) (oder die Stream-Überladung) aufrufen. Während des Speicherns erhält Notify(args) eine DocumentSavingArgs-Instanz, die ebenfalls EstimatedProgress als double bereitstellt.


Tipps und bewährte Verfahren

  • DocumentLoadingArgs und DocumentSavingArgs sind versiegelte Klassen, deren einziges Mitglied EstimatedProgress ist — behandeln Sie die Fortschrittsberichterstattung als ein leichtgewichtiges, prozentbasiertes Signal für UI-Feedback, nicht als detailliertes Operationsprotokoll.
  • Setzen Sie ProgressCallback auf die LoadOptions- oder SaveOptions-Instanz, bevor Sie sie an Document(fileName, loadOptions) oder Document.Save(fileName, saveOptions) übergeben — ein nachträgliches Zuweisen hat keine Wirkung auf eine bereits laufende Operation.
  • Verwenden Sie für Laden und Speichern separate Callback-Implementierungen; IDocumentLoadingCallback und IDocumentSavingCallback sind unterschiedliche Schnittstellen, obwohl beide eine einzige Notify(args)-Methode bereitstellen.

Häufige Probleme

ProblemUrsacheLösung
Notify(args) wird nie aufgerufenProgressCallback wurde nicht auf der LoadOptions/SaveOptions Instanz gesetzt, die dem Lade- oder Speicheraufruf übergeben wurdeWeisen Sie ProgressCallback zu, bevor Sie Document(fileName, loadOptions) oder Document.Save(fileName, saveOptions) aufrufen
Der Fortschritts-Callback wird gegen den falschen Argumenttyp kompiliertIDocumentLoadingCallback.Notify nimmt DocumentLoadingArgs; IDocumentSavingCallback.Notify nimmt DocumentSavingArgs — sie sind nicht austauschbarImplementieren Sie die Schnittstelle, die der Operation entspricht (Laden vs. Speichern)

FAQ

Was stellt EstimatedProgress dar?

Es ist eine double-Eigenschaft von DocumentLoadingArgs (beim Laden) bzw. DocumentSavingArgs (beim Speichern), die den geschätzten Fortschritt der Operation meldet.

Kann ich einen Ladevorgang oder Speichervorgang über den Fortschritts-Callback abbrechen?

Notify(args) auf beiden Schnittstellen nimmt nur das Argumentobjekt (DocumentLoadingArgs oder DocumentSavingArgs) entgegen; keiner stellt ein Abbruch-Flag in dieser API-Oberfläche bereit.

Benötige ich separate Callback-Klassen für das Laden und Speichern?

Sie benötigen separate Implementierungen von IDocumentLoadingCallback bzw. IDocumentSavingCallback, da es sich um unterschiedliche Schnittstellen handelt, obwohl eine einzelne Klasse beide implementieren könnte.


API Reference Zusammenfassung

Klasse / SchnittstelleBeschreibung
IDocumentLoadingCallbackNotify(args) — implementieren für Ladefortschrittsbenachrichtigungen
IDocumentSavingCallbackNotify(args) — implementieren für Speicherfortschrittsbenachrichtigungen
DocumentLoadingArgsEstimatedProgress: double — übergeben an IDocumentLoadingCallback.Notify
DocumentSavingArgsEstimatedProgress: double — passed to IDocumentSavingCallback.Notify
LoadOptions.ProgressCallbackHängt ein IDocumentLoadingCallback an einen Ladevorgang an
SaveOptions.ProgressCallbackHängt ein IDocumentSavingCallback an einen Speichervorgang an

Siehe auch

 Deutsch