ProgressCallback
Innehåll
[
Dölj
]LoadOptions.ProgressCallback property
Anropas under laddning av ett dokument och accepterar data om laddningsförloppet.
public IDocumentLoadingCallback ProgressCallback { get; set; }
Anmärkningar
Docx ,FlatOpc ,Docm ,Dotm ,Dotx ,Markdown ,Rtf ,WordML ,Doc ,Dot ,Odt ,Ott format som stöds.
Exempel
Visar hur man meddelar användaren om dokumentinläsningen överskrider den förväntade inläsningstiden.
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);
// Hantera problem med laddningstid.
}
}
/// <summary>
/// Avbryt en dokumentinläsning efter "MaxDuration" sekunder.
/// </summary>
public class LoadingProgressCallback : IDocumentLoadingCallback
{
/// <summary>
/// Centrum
/// </summary>
public LoadingProgressCallback()
{
mLoadingStartedAt = DateTime.Now;
}
/// <summary>
/// Återanropsmetod som anropades under dokumentinläsning.
/// </summary>
/// <param name="args">Laddar argument.</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>
/// Datum och tid då dokumentinläsningen startade.
/// </summary>
private readonly DateTime mLoadingStartedAt;
/// <summary>
/// Maximal tillåten varaktighet i sekunder.
/// </summary>
private const double MaxDuration = 0.5;
}
Se även
- interface IDocumentLoadingCallback
- class LoadOptions
- namnutrymme Aspose.Words.Loading
- hopsättning Aspose.Words