public static ServiceProvider BuildTestServiceProvider(this IServiceCollection services, TestBotData data = null) { if (!services.IsRegistered <IDiscordClient>()) { services.AddSingleton <IDiscordClient, TestDiscordClient>(); } if (!services.IsRegistered <TestBotData>()) { services.AddSingleton(data ?? new TestBotData()); } HostExtensions.AddDefaultServices(services); if (!services.IsRegistered <IBotApplicationBuilderFactory>()) { services.AddApplicationBuilder(builder => { // Do nothing. }); } services.PostConfigure <DiscordOptions>(options => { options.Token ??= "INVALID-TOKEN"; }); var provider = services.BuildServiceProvider(); provider.GetRequiredService <IEventManager>().CallAsync(new InitializeEvent()).AsTask().Wait(); return(provider); }
public static async Task Main(string[] args) { var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"; var configuration = HostExtensions.CreateConfiguration(environment, args); Log.Logger = HostExtensions.CreateLogger(configuration, environment, AppName); var host = CreateHost(configuration, args); using (var scope = host.Services.CreateScope()) { await scope.ServiceProvider.GetRequiredService <PeopleDbContext>() .OnModelCreatingAsync(); await scope.ServiceProvider.GetRequiredService <InfrastructureDbContext>() .OnModelCreatingAsync(); // await new InfrastructureContextSeed( // scope.ServiceProvider.GetRequiredService<InfrastructureDbContext>(), // scope.ServiceProvider.GetRequiredService<IWebHostEnvironment>() // ).SeedAsync(); } await host.RunAsync(); }
public static Task Main(string[] args) { var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"; var configuration = HostExtensions.CreateConfiguration(environment, args); Log.Logger = HostExtensions.CreateLogger(configuration, environment, AppName); var host = CreateHostBuilder(configuration, args); return(host.RunAsync()); }
public static void Main(string[] args) { using var logger = HostExtensions.CreateLogger(new string[0]); try { CreateHostBuilder(args) .Build() .Run(); } catch (Exception e) { logger.Fatal("Aspnet host crashed! ", e); Console.WriteLine(e); } finally { logger.Dispose(); } }