Skip to content
Marty Mathis edited this page Jan 20, 2019 · 17 revisions

A cross-platform library supporting .NET 4.6 and netstandard2.0, PipelineFramework allows you to construct complex linear workflows out a set of components you create.

Concepts

Component Resolution

Pipelines are constructed using a set of components that are resolved using implementations of the following interface:

    public interface IPipelineComponentResolver
    {
        T GetInstance<T>(string name) where T : IPipelineComponent;
    }

Both pipeline types AsyncPipeline<T> and Pipeline<T> provide two constructors which can be used to construct pipelines.

     public AsyncPipeline(
        IPipelineComponentResolver resolver,
        IEnumerable<string> componentNames,
        IDictionary<string, IDictionary<string, string>> settings)

     public AsyncPipeline(
        IPipelineComponentResolver resolver,
        IEnumerable<Type> componentTypes,
        IDictionary<string, IDictionary<string, string>> settings)

and

     public Pipeline(
        IPipelineComponentResolver resolver,
        IEnumerable<string> componentNames,
        IDictionary<string, IDictionary<string, string>> settings)

     public Pipeline(
        IPipelineComponentResolver resolver,
        IEnumerable<Type> componentTypes,
        IDictionary<string, IDictionary<string, string>> settings)

The first argument, IPipelineComponentResolver, is used to resolve any components that are requested. The second argument, IEnumerable<string> or IEnumerable<Type>, is used to instruct the resolver which components should be resolved and in what order. The third argument, IDictionary<string, IDictionary<string, string>>, provides configuration settings to individual components.

Configuration Settings

Control Flow

Exception Handling

Clone this wiki locally