BTaskWrapperBase - Esempi
using B.BThreading;
public sealed class ImportTask : BTaskWrapperBase
{
public string FilePath { get; init; } = "";
protected override async Task<bool> Elaboration(CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
return await ImportFileAsync(FilePath, cancellationToken);
}
}
ImportTask task = new ImportTask
{
Nome = "Import customers",
FilePath = importPath,
TimeoutElaboration = 30_000,
MaxRetryCount = 2
};
task.StartTask();
await task.RunningTask!;
L'elaborazione deve restituire true per completare con successo. false o un'eccezione attivano i retry configurati; timeout e CancelTask() usano il token di cancellazione. La classe raccoglie gli errori in ExceptionsList e scrive il dettaglio in Logger.
