Notify
Contenu
[
Cacher
]IDocumentLoadingCallback.Notify method
Ceci est appelé pour notifier la progression du chargement du document.
public void Notify(DocumentLoadingArgs args)
Paramètre | Taper | La description |
---|---|---|
args | DocumentLoadingArgs | Un argument de l’événement. |
Remarques
Les principales utilisations de cette interface sont de permettre au code d’application d’obtenir l’état de progression et d’interrompre le processus de chargement.
Une exception doit être levée à partir du rappel de progression pour l’avortement et elle doit être interceptée dans le code du consommateur.
Exemples
Montre comment avertir l’utilisateur si le chargement du document dépasse le temps de chargement prévu.
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);
// Gérer le problème de durée de chargement.
}
}
/// <summary>
/// Annuler le chargement d'un document après les secondes "MaxDuration".
/// </summary>
public class LoadingProgressCallback : IDocumentLoadingCallback
{
/// <summary>
/// Centre.
/// </summary>
public LoadingProgressCallback()
{
mLoadingStartedAt = DateTime.Now;
}
/// <summary>
/// Méthode de rappel appelée lors du chargement du document.
/// </summary>
/// <param name="args">Chargement des arguments.</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>
/// Date et heure de début du chargement du document.
/// </summary>
private readonly DateTime mLoadingStartedAt;
/// <summary>
/// Durée maximale autorisée en sec.
/// </summary>
private const double MaxDuration = 0.5;
}
Voir également
- property ProgressCallback
- class DocumentLoadingArgs
- interface IDocumentLoadingCallback
- espace de noms Aspose.Words.Loading
- Assemblée Aspose.Words