public static void RegisterApplication(IServiceCollection serviceCollection, HyperionOptions hyperionOptions) { if (!hyperionOptions.RegisterService) { return; } serviceCollection.AddHostedService <HyperionStartupProcedure>(); }
public static ISolariBuilder AddHyperion(this ISolariBuilder builder) { HyperionOptions options = ConfigureHyperionOptions(builder.Services, builder.Configuration); AddHyperionCoreServices(builder.Services, options); RegisterApplication(builder.Services, options); return(builder); }
public HyperionStartupProcedure(IConsulClient client, IServiceProvider provider, IOptions <ApplicationOptions> app, IOptions <HyperionOptions> options, IHostApplicationLifetime applicationLifetime) { _client = client; _provider = provider; _applicationLifetime = applicationLifetime; _options = options.Value; _app = app.Value; }
private static void AddHyperion(IServiceCollection collection, IConfiguration configuration, bool addHyperionServices) { if (!addHyperionServices) { return; } HyperionOptions options = SolariBuilderExtensions.ConfigureHyperionOptions(collection, configuration); SolariBuilderExtensions.AddHyperionCoreServices(collection, options); SolariBuilderExtensions.RegisterApplication(collection, options); }
public static void AddHyperionCoreServices(IServiceCollection serviceCollection, HyperionOptions options) { serviceCollection.AddSingleton <IHyperionClient, HyperionClient>(); serviceCollection.AddSingleton <IKvOperations, KvOperations>(); serviceCollection.AddSingleton <IServiceOperations, ServiceOperations>(); serviceCollection.AddSingleton <IConsulClientFactory, ConsulClientFactory>(); serviceCollection.AddSingleton(provider => provider.GetService <IConsulClientFactory>().Create(options)); }
public static IConfigurationSection GetHyperionOptions(IConfiguration configuration, out HyperionOptions options) { IConfigurationSection section = configuration.GetSection(HyperionConstants.AppSettingsSection); if (!section.Exists()) { throw new HyperionException("Hyperion AppSettings section not found!"); } options = section.GetOptions <HyperionOptions>(); return(section); }