ProgressCallback
Contenido
[
Ocultar
]LoadOptions.ProgressCallback property
Se llama durante la carga de un documento y acepta datos sobre el progreso de la carga.
public IDocumentLoadingCallback ProgressCallback { get; set; }
Observaciones
Docx ,FlatOpc ,Docm ,Dotm ,Dotx ,Markdown ,Rtf ,WordML ,Doc ,Dot ,Odt ,Ott Formatos admitidos.
Ejemplos
Muestra cómo notificar al usuario si la carga del documento excedió el tiempo de carga esperado.
public void ProgressCallback()
{
LoadingProgressCallback progressCallback = new LoadingProgressCallback();
LoadOptions loadOptions = new LoadOptions { ProgressCallback = progressCallback };
try
{
Document doc = new Document(MyDir + "Big document.docx", loadOptions);
}
catch (OperationCanceledException exception)
{
Console.WriteLine(exception.Message);
// Manejar el problema de duración de carga.
}
}
/// <summary>
/// Cancelar la carga de un documento después de los segundos "MaxDuration".
/// </summary>
public class LoadingProgressCallback : IDocumentLoadingCallback
{
/// <summary>
/// Ctr.
/// </summary>
public LoadingProgressCallback()
{
mLoadingStartedAt = DateTime.Now;
}
/// <summary>
/// Método de devolución de llamada que se llamó durante la carga del documento.
/// </summary>
/// <param name="args">Cargando argumentos.</param>
public void Notify(DocumentLoadingArgs args)
{
DateTime canceledAt = DateTime.Now;
double ellapsedSeconds = (canceledAt - mLoadingStartedAt).TotalSeconds;
if (ellapsedSeconds > MaxDuration)
throw new OperationCanceledException($"EstimatedProgress = {args.EstimatedProgress}; CanceledAt = {canceledAt}");
}
/// <summary>
/// Fecha y hora en que se inició la carga del documento.
/// </summary>
private readonly DateTime mLoadingStartedAt;
/// <summary>
/// Duración máxima permitida en segundos.
/// </summary>
private const double MaxDuration = 0.5;
}
Ver también
- interface IDocumentLoadingCallback
- class LoadOptions
- espacio de nombres Aspose.Words.Loading
- asamblea Aspose.Words