Progress

Progress

Hướng dẫn này chỉ cách theo dõi tiến độ của các thao tác tải và lưu tài liệu kéo dài.

Các thao tác tải và lưu kéo dài có thể báo cáo tiến độ tăng dần thông qua một cặp callback nhỏ: IDocumentLoadingCallback cho việc tải và IDocumentSavingCallback cho việc lưu. Cả hai giao diện đều có cùng dạng — một phương thức Notify(args) duy nhất được Aspose.Words FOSS cho .NET khi thao tác tiến triển.


Giám sát việc tải tài liệu

Triển khai IDocumentLoadingCallback và gán triển khai đó cho LoadOptions.ProgressCallback trước khi tải một tài liệu. Trong quá trình tải, Notify(args) được gọi với một thể hiện DocumentLoadingArgs mà thuộc tính EstimatedProgress của nó (một double) báo cáo mức độ tiến triển của quá trình tải.


Giám sát việc lưu tài liệu

Triển khai IDocumentSavingCallback và gán nó cho SaveOptions.ProgressCallback trước khi gọi Document.Save(fileName, saveOptions) (hoặc phiên bản overload cho stream). Trong quá trình lưu, Notify(args) nhận một thể hiện DocumentSavingArgs, mà cũng cung cấp EstimatedProgress dưới dạng double.


Mẹo và Thực hành Tốt nhất

  • DocumentLoadingArgs và DocumentSavingArgs là các lớp sealed mà thành viên duy nhất của chúng là EstimatedProgress — coi việc báo cáo tiến độ như một tín hiệu nhẹ kiểu phần trăm để phản hồi UI, không phải là nhật ký chi tiết của hoạt động.
  • Đặt ProgressCallback trên đối tượng LoadOptions hoặc SaveOptions trước khi truyền nó cho Document(fileName, loadOptions) hoặc Document.Save(fileName, saveOptions) — việc gán sau đó không ảnh hưởng tới một thao tác đã đang tiến hành.
  • Sử dụng một triển khai callback riêng biệt cho việc tải và lưu; IDocumentLoadingCallback và IDocumentSavingCallback là các giao diện riêng biệt mặc dù cả hai đều cung cấp một phương thức Notify(args) duy nhất.

Các Vấn đề Thông thường

Vấn đềNguyên nhânKhắc phục
Notify(args) không bao giờ được gọiProgressCallback chưa được đặt trên đối tượng LoadOptions/SaveOptions được truyền vào cuộc gọi load hoặc saveGán ProgressCallback trước khi gọi Document(fileName, loadOptions) hoặc Document.Save(fileName, saveOptions)
Callback tiến độ được biên dịch với kiểu đối số saiIDocumentLoadingCallback.Notify nhận DocumentLoadingArgs; IDocumentSavingCallback.Notify nhận DocumentSavingArgs — chúng không thể hoán đổi cho nhauTriển khai giao diện phù hợp với thao tác (tải vs. lưu)

FAQ

EstimatedProgress đại diện cho gì?

Đó là một thuộc tính double trên DocumentLoadingArgs (khi tải) hoặc DocumentSavingArgs (khi lưu) báo cáo tiến độ hoàn thành ước tính của thao tác.

Tôi có thể hủy thao tác tải hoặc lưu từ callback tiến trình không?

Notify(args) trên cả hai giao diện chỉ nhận đối tượng arguments (DocumentLoadingArgs hoặc DocumentSavingArgs); cả hai đều không cung cấp cờ hủy trong bề mặt API này.

Tôi có cần các lớp callback riêng biệt cho việc tải và lưu không?

Bạn cần các triển khai riêng biệt của IDocumentLoadingCallback và IDocumentSavingCallback tương ứng, vì chúng là các giao diện khác nhau, mặc dù một lớp duy nhất có thể triển khai cả hai.


API Reference Tóm tắt

Lớp / Giao diệnMô tả
IDocumentLoadingCallbackNotify(args) — triển khai cho thông báo tiến độ tải
IDocumentSavingCallbackNotify(args) — triển khai cho thông báo tiến độ lưu
DocumentLoadingArgsEstimatedProgress: double — được truyền cho IDocumentLoadingCallback.Notify
DocumentSavingArgsEstimatedProgress: double — được truyền cho IDocumentSavingCallback.Notify
LoadOptions.ProgressCallbackĐính kèm một IDocumentLoadingCallback vào thao tác tải
SaveOptions.ProgressCallbackĐính kèm một IDocumentSavingCallback vào thao tác lưu

Xem thêm

 Tiếng Việt