public class ConnectTask : TaskWithSession
{
public ConnectTask(Engine engine) : base("Connect", engine, ConnectTaskProperties.Empty()) { }
public override async Task Perform(CancellationToken ct, IProgress<double> progress)
{
await engine.RedirectTo();
try
{
await Connect(ct);
State = Procedure.Status.Succeeded;
}
catch (TaskCanceledException)
{
State = global::Procedure.Status.Aborted;
throw;