public static IBusHost BuildHost <TStartup>(this TStartup startup, HostSettings settings) where TStartup : Startup { var configurationBuilder = new ConfigurationBuilder(); startup.ConfigureAppConfiguration(configurationBuilder); var configuration = configurationBuilder.Build(); var context = new StartupContext(settings, configuration); var services = new ServiceCollection(); services.AddSingleton(configuration); startup.ConfigureServices(context, services); services.AddLogging(builder => startup.ConfigureLogging(context, builder)); var serviceProvider = services.BuildServiceProvider(); return(startup.ConstructService(context, serviceProvider)); }
public virtual void ConfigureLogging(StartupContext context, ILoggingBuilder logging) { }
public abstract IBusHost ConstructService(StartupContext context, IServiceProvider serviceProvider);
public virtual void ConfigureServices(StartupContext context, IServiceCollection services) { }