public static IServiceCollection AddScheduledTask <TScheduledTask>( this IServiceCollection services, System.Action <IScheduledTaskOptions <TScheduledTask> > configureOptions ) where TScheduledTask : class, IScheduledTask { if (services == null) { throw new ArgumentNullException(nameof(services)); } if (configureOptions == null) { throw new ArgumentNullException(nameof(configureOptions)); } var options = new ScheduledTaskOptions <TScheduledTask>(); configureOptions.Invoke(options); return(services.AddService <TScheduledTask>(options)); }
public static IScheduledTaskOptions <TScheduledTask> AddScheduledTaskOptions <TScheduledTask>( this IServiceCollection services, IConfiguration configuration ) where TScheduledTask : class, IScheduledTask { if (services == null) { throw new ArgumentNullException(nameof(services)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } var options = new ScheduledTaskOptions <TScheduledTask>(); configuration.Bind(options); services.AddScheduledTaskOptions(options); return(options); }