Progress

Progress

Esta guía muestra cómo rastrear el progreso de operaciones de carga y guardado de documentos de larga duración.

Las operaciones de carga y guardado de larga duración pueden informar el progreso incremental mediante un pequeño par de callbacks: IDocumentLoadingCallback para la carga y IDocumentSavingCallback para el guardado. Ambas interfaces siguen la misma forma — un único método Notify(args) invocado por Aspose.Words FOSS para .NET a medida que avanza la operación.


Monitoreo de la carga de documentos

Implemente IDocumentLoadingCallback y asigne la implementación a LoadOptions.ProgressCallback antes de cargar un documento. Durante la carga, se llama a Notify(args) con una instancia de DocumentLoadingArgs cuya propiedad EstimatedProgress (un double) informa hasta qué punto ha progresado la carga.


Monitoreo del guardado de documentos

Implemente IDocumentSavingCallback y asígnelo a SaveOptions.ProgressCallback antes de llamar a Document.Save(fileName, saveOptions) (o la sobrecarga de flujo). Durante el guardado, Notify(args) recibe una instancia de DocumentSavingArgs, que a su vez expone EstimatedProgress como un double.


Consejos y Mejores Prácticas

  • DocumentLoadingArgs y DocumentSavingArgs son clases selladas cuyo único miembro es EstimatedProgress — trate el informe de progreso como una señal ligera de estilo porcentual para la retroalimentación de la UI, no como un registro detallado de la operación.
  • Establezca ProgressCallback en la instancia de LoadOptions o SaveOptions antes de pasarla a Document(fileName, loadOptions) o Document.Save(fileName, saveOptions) — asignarla después no tiene efecto en una operación que ya está en curso.
  • Utilice una implementación de devolución de llamada separada para carga y guardado; IDocumentLoadingCallback y IDocumentSavingCallback son interfaces distintas aunque ambas expongan un único método Notify(args).

Problemas Comunes

ProblemaCausaSolución
Notify(args) nunca se llamaProgressCallback no se estableció en la instancia LoadOptions/SaveOptions pasada a la llamada de load o saveAsigne ProgressCallback antes de llamar a Document(fileName, loadOptions) o Document.Save(fileName, saveOptions)
Progress callback se compila contra el tipo de argumento incorrectoIDocumentLoadingCallback.Notify toma DocumentLoadingArgs; IDocumentSavingCallback.Notify toma DocumentSavingArgs — no son intercambiablesImplementa la interfaz que coincide con la operación (carga vs. guardado)

FAQ

¿Qué representa EstimatedProgress?

Es una propiedad double en DocumentLoadingArgs (durante la carga) o DocumentSavingArgs (durante el guardado) que informa del progreso estimado de finalización de la operación.

¿Puedo cancelar una operación de carga o guardado desde la devolución de llamada de progreso?

Notify(args) en ambas interfaces solo acepta el objeto de argumentos (DocumentLoadingArgs o DocumentSavingArgs); ninguno expone una bandera de cancelación en esta superficie de API.

¿Necesito clases de callback separadas para la carga y el guardado?

Necesitas implementaciones separadas de IDocumentLoadingCallback y IDocumentSavingCallback respectivamente, ya que son interfaces diferentes, aunque una única clase podría implementar ambas.


API Reference Resumen

Clase / InterfazDescripción
IDocumentLoadingCallbackNotify(args) — implementar para notificaciones de progreso de carga
IDocumentSavingCallbackNotify(args) — implementar para notificaciones de progreso de guardado
DocumentLoadingArgsEstimatedProgress: double — pasado a IDocumentLoadingCallback.Notify
DocumentSavingArgsEstimatedProgress: double — pasado a IDocumentSavingCallback.Notify
LoadOptions.ProgressCallbackAdjunta un IDocumentLoadingCallback a una operación de carga
SaveOptions.ProgressCallbackAdjunta un IDocumentSavingCallback a una operación de guardado

Ver también

 Español