public async Task RunAsync(CancellationToken cancellationToken) { var hub = _hub.RunAsync(cancellationToken); var tasks = new List <Task>() { cancellationToken.WhenCanceled() }; //start all modules if (!_inContainer) { foreach (var module in _modules) { tasks.Add(module._RunAsync(cancellationToken)); } } await Task.WhenAny(tasks.ToArray()); }
public async Task RunAsync(CancellationToken cancellationToken) { var tasks = new List <Task> { CreateTemporaryConnection(), _hub.RunAsync(cancellationToken) }; //start all modules if (!_inContainer) { foreach (var module in _modules) { tasks.Add(module._RunAsync(cancellationToken)); } } tasks.Add(cancellationToken.WhenCanceled()); await Task.WhenAll(tasks.ToArray()); }