// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddHangfire(configuration => configuration .SetDataCompatibilityLevel(CompatibilityLevel.Version_170) .UseSimpleAssemblyNameTypeSerializer() .UseRecommendedSerializerSettings() .UsePostgreSqlStorage(Configuration.GetConnectionString("HangfireConnection")) ); services.AddHangfireServer(); services.AddMediatR(typeof(Startup).Assembly); services.AddSingleton <MessageQueueService>(); services.AddRazorPages() .AddRazorRuntimeCompilation() .AddRazorPagesOptions(options => { options.Conventions.Add(new PageRouteTransformerConvention(new SlugifyParameterTransformer())); }); services.AddRouting(options => { options.LowercaseUrls = true; options.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer); }); services.AddSingleton <IStorageProvider, MinioStorageProvider>( (provider) => MinioStorageProviderFactory.Create(provider.GetService <IConfiguration>())); }
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.AddHostedService <Worker>(); services.AddSingleton <MessageQueueService>(); services.AddSingleton <IStorageProvider>(p => MinioStorageProviderFactory.Create(p.GetService <IConfiguration>())); });