Progress

Progress

Αυτός ο οδηγός δείχνει πώς να παρακολουθείτε την πρόοδο των μακράς διάρκειας λειτουργιών φόρτωσης και αποθήκευσης εγγράφων.

Οι μακράς διάρκειας λειτουργίες φόρτωσης και αποθήκευσης μπορούν να αναφέρουν προοδευτική πρόοδο μέσω ενός μικρού ζεύγους callbacks: IDocumentLoadingCallback για τη φόρτωση και IDocumentSavingCallback για την αποθήκευση. Και οι δύο διεπαφές ακολουθούν το ίδιο σχήμα — μια μοναδική μέθοδος Notify(args) που κληθεί από το Aspose.Words FOSS για .NET καθώς η λειτουργία προχωρά.


Παρακολούθηση Φόρτωσης Εγγράφου

Υλοποιήστε το IDocumentLoadingCallback και εκχωρήστε την υλοποίηση στο LoadOptions.ProgressCallback πριν από τη φόρτωση ενός εγγράφου. Κατά τη διάρκεια της φόρτωσης, το Notify(args) καλείται με μια παρουσία του DocumentLoadingArgs της οποίας η ιδιότητα EstimatedProgress (ένα double) αναφέρει πόσο έχει προχωρήσει η φόρτωση.


Παρακολούθηση Αποθήκευσης Εγγράφου

Υλοποιήστε το IDocumentSavingCallback και εκχωρήστε το στο SaveOptions.ProgressCallback πριν καλέσετε το Document.Save(fileName, saveOptions) (ή την υπερφόρτωση ροής). Κατά τη διάρκεια της αποθήκευσης, το Notify(args) λαμβάνει μια παρουσία του DocumentSavingArgs, η οποία επίσης εκθέτει το EstimatedProgress ως ένα double.


Συμβουλές και Καλύτερες Πρακτικές

  • DocumentLoadingArgs και DocumentSavingArgs είναι κλειστές κλάσεις των οποίων το μοναδικό μέλος είναι EstimatedProgress — θεωρήστε την αναφορά προόδου ως ένα ελαφρύ σήμα στυλ ποσοστού για την ανάδραση UI, όχι ένα λεπτομερές αρχείο καταγραφής λειτουργίας.
  • Ορίστε το ProgressCallback στην παρουσία του LoadOptions ή του SaveOptions πριν το περάσετε στο Document(fileName, loadOptions) ή στο Document.Save(fileName, saveOptions) — η εκχώρηση του μετά δεν έχει επίδραση σε μια λειτουργία που ήδη εκτελείται.
  • Χρησιμοποιήστε ξεχωριστή υλοποίηση callback για τη φόρτωση και την αποθήκευση· IDocumentLoadingCallback και IDocumentSavingCallback είναι ξεχωριστά interfaces, παρόλο που και τα δύο εκθέτουν μια μόνο μέθοδο Notify(args).

Κοινά Προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
Notify(args) δεν καλείται ποτέProgressCallback δεν ορίστηκε στο αντικείμενο LoadOptions/SaveOptions που περάστηκε στην κλήση φόρτωσης ή αποθήκευσηςΟρίστε ProgressCallback πριν καλέσετε Document(fileName, loadOptions) ή Document.Save(fileName, saveOptions)
Η callback προόδου μεταγλωττίζεται με τον λανθασμένο τύπο ορίσματοςIDocumentLoadingCallback.Notify παίρνει DocumentLoadingArgs; IDocumentSavingCallback.Notify παίρνει DocumentSavingArgs — δεν είναι εναλλάξιμαΥλοποιήστε τη διεπαφή που ταιριάζει στη λειτουργία (φόρτωση vs. αποθήκευση)

FAQ

Τι αντιπροσωπεύει το EstimatedProgress;

Αυτή είναι μια ιδιότητα double στο DocumentLoadingArgs (κατά τη φόρτωση) ή στο DocumentSavingArgs (κατά την αποθήκευση) που αναφέρει την εκτιμώμενη πρόοδο ολοκλήρωσης της λειτουργίας.

Μπορώ να ακυρώσω μια ενέργεια φόρτωσης ή αποθήκευσης από το callback προόδου;

Notify(args) και στις δύο διεπαφές δέχεται μόνο το αντικείμενο arguments (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 σε μια λειτουργία αποθήκευσης

Δείτε επίσης

 Ελληνικά