Progress

Progress

Den här guiden visar hur man spårar framstegen för långvariga dokumentläs- och sparoperationer.

Långvariga läs- och sparoperationer kan rapportera inkrementell framsteg via ett litet callback-par: IDocumentLoadingCallback för inläsning och IDocumentSavingCallback för sparning. Båda gränssnitten har samma form — en enda Notify(args)-metod som anropas av Aspose.Words FOSS för .NET när operationen fortskrider.


Övervakning av dokumentinläsning

Implementera IDocumentLoadingCallback och tilldela implementationen till LoadOptions.ProgressCallback innan ett dokument läses in. Under inläsning anropas Notify(args) med en DocumentLoadingArgs-instans vars EstimatedProgress-egenskap (en double) rapporterar hur långt inläsningen har kommit.


Övervakning av dokumentlagring

Implementera IDocumentSavingCallback och tilldela den till SaveOptions.ProgressCallback innan du anropar Document.Save(fileName, saveOptions) (eller ström-överladdningen). Under sparning mottar Notify(args) en DocumentSavingArgs-instans, som på samma sätt exponerar EstimatedProgress som en double.


Tips och bästa praxis

  • DocumentLoadingArgs och DocumentSavingArgs är förseglade klasser vars enda medlem är EstimatedProgress — behandla framstegsrapportering som en lättviktig procentbaserad signal för UI-feedback, inte en detaljerad operationslogg.
  • Ställ in ProgressCallback på LoadOptions- eller SaveOptions-instansen innan du skickar den till Document(fileName, loadOptions) eller Document.Save(fileName, saveOptions) — att tilldela den efteråt har ingen effekt på en operation som redan pågår.
  • Använd en separat återuppringningsimplementation för inläsning respektive sparning; IDocumentLoadingCallback och IDocumentSavingCallback är olika gränssnitt även om båda exponerar en enda Notify(args)-metod.

Vanliga problem

ProblemOrsakÅtgärd
Notify(args) anropas aldrigProgressCallback var inte satt på LoadOptions/SaveOptions-instansen som skickades till load- eller save-anropetTilldela ProgressCallback innan du anropar Document(fileName, loadOptions) eller Document.Save(fileName, saveOptions)
Progress callback kompileras mot fel argumenttypIDocumentLoadingCallback.Notify tar DocumentLoadingArgs; IDocumentSavingCallback.Notify tar DocumentSavingArgs — de är inte utbytbaraImplementera gränssnittet som matchar operationen (laddning vs. sparande)

FAQ

Vad representerar EstimatedProgress?

Det är en double-egenskap på DocumentLoadingArgs (vid inläsning) eller DocumentSavingArgs (vid sparning) som rapporterar operationens uppskattade slutförande-framsteg.

Kan jag avbryta en laddnings- eller sparoperation från framstegskallbacken?

Notify(args) på båda gränssnitten tar endast argumentobjektet (DocumentLoadingArgs eller DocumentSavingArgs); ingen av dem exponerar en avbrytflagga i denna API yta.

Behöver jag separata callback-klasser för laddning och sparning?

Du behöver separata implementationer av IDocumentLoadingCallback respektive IDocumentSavingCallback, eftersom de är olika gränssnitt, även om en enda klass kan implementera båda.


API Reference Sammanfattning

Klass / GränssnittBeskrivning
IDocumentLoadingCallbackNotify(args) — implementera för laddningsförloppsaviseringar
IDocumentSavingCallbackNotify(args) — implementera för sparningsförloppsaviseringar
DocumentLoadingArgsEstimatedProgress: double — skickas till IDocumentLoadingCallback.Notify
DocumentSavingArgsEstimatedProgress: double — skickas till IDocumentSavingCallback.Notify
LoadOptions.ProgressCallbackBifogar en IDocumentLoadingCallback till en läsoperation
SaveOptions.ProgressCallbackBifogar en IDocumentSavingCallback till en sparaoperation

Se även

 Svenska