public static async Task Main(string[] args) { var containerBuilder = new ContainerBuilder(); var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()); var userSettingsFileName = $"appsettings.{Environment.UserName}.json"; if (File.Exists($"{Directory.GetCurrentDirectory()}/{userSettingsFileName}")) { config.AddJsonFile($"appsettings.{Environment.UserName}.json"); } else { config.AddJsonFile("appsettings.json"); } var configurationBuilder = config.Build(); var configurationModule = new Autofac.Configuration.ConfigurationModule(configurationBuilder); containerBuilder.RegisterModule(configurationModule); containerBuilder.SetupConfigurations(configurationBuilder); containerBuilder.RegisterModule <ServiceRegistrations>(); containerBuilder.RegisterModule <LoggerRegistrations>(); var container = containerBuilder.Build(); using (var scope = container.BeginLifetimeScope()) { var scheduler = scope.Resolve <IJobQueueHandler>(); await scheduler.ProcessNextJobAsync(CancellationToken); } }
protected void Application_Start() { var env = new Teleware.Foundation.Hosting.Application.ApplicationEnvironment(); var bootupConfigurationProvider = new BootupConfigurationProvider(env); var configModule = new Autofac.Configuration.ConfigurationModule(bootupConfigurationProvider.GetAutofacConfiguration()); GlobalConfiguration.Configure(WebApiConfig.Register); var builder = new ContainerBuilder(); builder.RegisterInstance(env).As <IEnvironment>(); builder.RegisterInstance(bootupConfigurationProvider).As <IBootupConfigurationProvider>(); builder.RegisterModule(configModule); var config = GlobalConfiguration.Configuration; builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterWebApiFilterProvider(config); builder.RegisterType <ApiExceptionFilter>().AsWebApiExceptionFilterFor <ApiController>().InstancePerRequest(); builder.RegisterType <UnitOfWorkCommitFilter>().AsWebApiActionFilterFor <ApiController>().InstancePerRequest(); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddMvc(options => { options.Filters.Add(typeof(UnitOfWorkCommitFilter)); options.Filters.Add(typeof(ApiExceptionFilter)); //options.OutputFormatters.RemoveType<TextOutputFormatter>(); //options.OutputFormatters.RemoveType<HttpNoContentOutputFormatter>(); }); var autofacConfigs = new Autofac.Configuration.ConfigurationModule(BootupConfigurationProvider.GetAutofacConfiguration()); var builder = new ContainerBuilder(); builder.Populate(services); builder.RegisterModule(autofacConfigs); builder.RegisterInstance(BootupConfigurationProvider).As <IBootupConfigurationProvider>(); builder.RegisterInstance(Env).As <IEnvironment>(); this.ApplicationContainer = builder.Build(); return(new AutofacServiceProvider(this.ApplicationContainer)); }
public static async Task Main(string[] args) { var configBuilder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(ConfigFile); var configuration = configBuilder.Build(); var containerBuilder = new ContainerBuilder(); var configurationModule = new Autofac.Configuration.ConfigurationModule(configuration); containerBuilder.RegisterModule(configurationModule); containerBuilder.SetupConfigurations(configuration); containerBuilder.RegisterModule <ServiceRegistrations>(); var container = containerBuilder.Build(); using (var scope = container.BeginLifetimeScope()) { var logger = scope.Resolve <ILogger>(); logger.LogInfo($"Starting funding claim reminder service web job."); var fundingClaimsReminderService = scope.Resolve <IFundingClaimsReminderService>(); await fundingClaimsReminderService.Execute(CancellationToken.None); } }
public static async Task Main(string[] args) { var configBuilder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(ConfigFile); var configuration = configBuilder.Build(); var containerBuilder = new ContainerBuilder(); var configurationModule = new Autofac.Configuration.ConfigurationModule(configuration); containerBuilder.RegisterModule(configurationModule); containerBuilder.SetupConfigurations(configuration); containerBuilder.RegisterModule <ServiceRegistrations>(); containerBuilder.RegisterModule(new QuartzAutofacFactoryModule()); containerBuilder.RegisterModule(new QuartzAutofacJobsModule(typeof(SigningFeedJob).Assembly)); var container = containerBuilder.Build(); var job = JobBuilder.Create <SigningFeedJob>().WithIdentity("SigningFeedJob", "Jobs").Build(); var trigger = TriggerBuilder.Create() .WithIdentity("SigningFeedJob", "Jobs") .StartNow() .WithSchedule(SimpleScheduleBuilder.RepeatMinutelyForever(15)).Build(); var cts = new CancellationTokenSource(); var scheduler = container.Resolve <IScheduler>(); await scheduler.ScheduleJob(job, trigger, cts.Token).ConfigureAwait(true); await scheduler.Start(cts.Token).ConfigureAwait(true); System.Console.ReadLine(); cts.Cancel(); await scheduler.Shutdown(cts.Token).ConfigureAwait(true); }