private void ConfigurePipeLine() { _pipeLine = _pipeLineBuilder .UseHandler(_criticalAndCancelExceptionHandler) .UseHandler(_fileDaleteHandler) .UseHandler(_fileSendHandler) .Build(); }
public void SetNext(IPipeLineHandler <TContext> nextHandler) { if (nextHandler == null) { throw new ArgumentNullException(nameof(nextHandler), "Next handler cannot be null"); } if (nextHandler == this) { throw new ArgumentException("Next handler cannot be same handler", nameof(nextHandler)); } Next = nextHandler.ExecuteAsync; }
public PipeLineTask <TContext> Build() { if (!_handlers.Any()) { throw new EmptyCollectionException("Need one or more handlers"); } var handler = _handlers[0]; PipeLineTask <TContext> pieLineTask = handler.ExecuteAsync; foreach (var nextHandler in _handlers.Skip(1)) { handler.SetNext(nextHandler); handler = nextHandler; } Clear(); return(pieLineTask); }