ArchiveLoadOptions.CancellationToken
Contents
[
Hide
]ArchiveLoadOptions.CancellationToken property
Gets or sets a cancellation token used to cancel the extraction operation.
public CancellationToken CancellationToken { get; set; }
Remarks
This property exists for .NET Framework 4.0 and above.
Examples
Cancel ZIP archive extraction after a certain time.
using (CancellationTokenSource cts = new CancellationTokenSource())
{
cts.CancelAfter(TimeSpan.FromSeconds(60));
using (var a = new SevenZipArchive("big.zip", new SevenZipLoadOptions() { CancellationToken = cts.Token }))
{
try
{
a.Entries[0].Extract("data.bin");
}
catch(OperationCanceledException)
{
Console.WriteLine("Extraction was cancelled after 60 seconds");
}
}
}
Using with Task
CancellationTokenSource cts = new CancellationTokenSource();
cts.CancelAfter(TimeSpan.FromSeconds(60));
Task t = Task.Run(delegate()
{
var loadOptions = new ArchiveLoadOptions() { CancellationToken = cts.Token };
using (var a = Archive("big.zip", loadOptions))
{
a.ExtractToDirectory("destination");
}
}, cts.Token);
t.ContinueWith(delegate(Task antecedent)
{
if (antecedent.IsCanceled)
{
Console.WriteLine("Extraction was cancelled after 60 seconds");
}
cts.Dispose();
});
Cancellation mostly results in some data not being extracted.
See Also
- class ArchiveLoadOptions
- namespace Aspose.Zip
- assembly Aspose.Zip