public static IWebHostBuilder PrepareConsoleAppFrameworkMiddleware(this IWebHostBuilder builder, ConsoleAppOptions?options = null) { var consoleAppTypes = CollectConsoleAppTypes(); var target = new TargetConsoleAppTypeCollection(consoleAppTypes); return(builder .ConfigureServices(services => { services.AddSingleton <ConsoleAppOptions>(options ?? new ConsoleAppOptions()); services.AddSingleton <TargetConsoleAppTypeCollection>(target); foreach (var item in target) { services.AddTransient(item); } })); }
public static IWebHostBuilder PrepareConsoleAppFrameworkMiddleware(this IWebHostBuilder builder, IConsoleAppInterceptor?interceptor = null) { var consoleAppTypes = CollectConsoleAppTypes(); var target = new TargetConsoleAppTypeCollection(consoleAppTypes); return(builder .ConfigureServices(services => { services.AddSingleton <IConsoleAppInterceptor>(interceptor ?? NullConsoleAppInterceptor.Default); services.AddSingleton <TargetConsoleAppTypeCollection>(target); foreach (var item in target) { services.AddTransient(item); } })); }