Open mariusz96 opened 3 weeks ago
+ namespace PipelineNet.ChainOfResponsibilityFactories
+ public interface IAsyncResponsibilityChainFactory<TParameter, TReturn>
+ {
+ IAsyncResponsibilityChain<TParameter, TReturn> Create();
+ }
+ public interface IResponsibilityChainFactory<TParameter, TReturn>
+ {
+ IResponsibilityChain<TParameter, TReturn> Create();
+ }
+ namespace PipelineNet.PipelineFactories
+ public interface IPipelineFactory<TParameter>
+ {
+ IPipeline<TParameter> Create();
+ }
+ public interface IAsyncPipelineFactory<TParameter>
+ {
+ IAsyncPipeline<TParameter> Create();
+ }
+ namespace PipelineNet.ChainOfResponsibilityFactories
+ public class AsyncResponsibilityChainFactory<TParameter, TReturn> : IAsyncResponsibilityChainFactory<TParameter, TReturn>
+ {
+ public IAsyncResponsibilityChain<TParameter, TReturn> Create();
+ }
+ public class ResponsibilityChainFactory<TParameter, TReturn> : IResponsibilityChainFactory<TParameter, TReturn>
+ {
+ public IResponsibilityChain<TParameter, TReturn> Create();
+ }
+ namespace PipelineNet.PipelineFactories
+ public class PipelineFactory<TParameter>: IPipelineFactory<TParameter>
+ {
+ public IPipeline<TParameter> Create();
+ }
+ public class AsyncPipelineFactory<TParameter> : IAsyncPipelineFactory<TParameter>
+ {
+ public IAsyncPipeline<TParameter> Create();
+ }
+ namespace PipelineNet.ServiceProvider.MiddlewareResolver
+ public class ServiceProviderMiddlewareResolver : IMiddlewareResolver
+ {
+ public MiddlewareResolverResult Resolve(Type type);
+ }
+ namespace PipelineNet.ServiceProvider
+ public static class ServiceCollectionExtensions
+ {
+ public static IServiceCollection AddPipelineNet(
+ this IServiceCollection services,
+ IEnumerable<Assembly> assemblies,
+ ServiceLifetime lifetime = ServiceLifetime.Scoped);
+ public static IServiceCollection AddPipelineNet(
+ this IServiceCollection services,
+ Assembly assembly,
+ ServiceLifetime lifetime = ServiceLifetime.Scoped);
+ public static IServiceCollection AddPipelineNetCore(
+ this IServiceCollection services,
+ ServiceLifetime lifetime = ServiceLifetime.Scoped);
+ public static IServiceCollection AddMiddlewareFromAssemblies(
+ this IServiceCollection services,
+ IEnumerable<Assembly> assemblies,
+ ServiceLifetime lifetime = ServiceLifetime.Scoped);
+ public static IServiceCollection AddMiddlewareFromAssembly(
+ this IServiceCollection services,
+ Assembly assembly,
+ ServiceLifetime lifetime = ServiceLifetime.Scoped);
+ }
I could not stand that this is
new
ing things up in the DI-enabled app so I went ahead and added:new
ing (this is the best pattern I could find)IServiceCollection
IServiceProvider
implementation of theIMiddlewareResolver
<GenerateDocumentationFile>
property to thecsproj
s to include the documentation in the nuget and I fixedmissing xml comment
warningsLet me know how you feel about the changes, I think they're a significant improvement over the previous version of
PipelineNet.ServiceProvider
.