public static IConfigurationRoot Configure(IServiceContainer container, IServiceCollection services) { // var environmentData = BuildEnvironment.GetBuildEnvironment(); var configPath = AppDomain.CurrentDomain.BaseDirectory; var configFile = Path.Combine(configPath, ConfigFile); System.Console.WriteLine($"Config file location: {configFile}"); var configuration = Config.GetConfiguration(configFile); var serviceConfiguration = configuration.GetSection(nameof(WebHostServiceConfiguration)).Get <WebHostServiceConfiguration>(); var storageProviderConfiguration = configuration.GetSection(nameof(StorageProviderConfiguration)).Get <StorageProviderConfiguration>(); var binnerConfig = new BinnerFileStorageConfiguration(storageProviderConfiguration.ProviderConfiguration); // support IOptions<> MS dependency injection services.Configure <WebHostServiceConfiguration>(options => configuration.GetSection(nameof(WebHostServiceConfiguration)).Bind(options)); // register traditional configuration with LightInject services.AddSingleton(serviceConfiguration); container.RegisterInstance(serviceConfiguration); services.AddSingleton(storageProviderConfiguration); container.RegisterInstance(storageProviderConfiguration); services.AddSingleton(binnerConfig); container.RegisterInstance(binnerConfig); return(configuration); }
public static IConfigurationRoot Configure(IServiceContainer container, IServiceCollection services) { //var configPath = AppDomain.CurrentDomain.BaseDirectory; //var configPath = Environment.CurrentDirectory; var configPath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); var configFile = Path.Combine(configPath, ConfigFile); Console.WriteLine($".Net Core bundle path: {AppContext.BaseDirectory}"); Console.WriteLine($"Config file location: {configFile}"); var configuration = Config.GetConfiguration(configFile); if (configuration == null) { throw new InvalidOperationException($"Could not load configuration from {configFile}"); } var serviceConfiguration = configuration.GetSection(nameof(WebHostServiceConfiguration)).Get <WebHostServiceConfiguration>(); if (serviceConfiguration == null) { throw new InvalidOperationException($"Could not load WebHostServiceConfiguration from {configFile}, configuration file may be invalid or lacking read permissions!"); } var storageProviderConfiguration = configuration.GetSection(nameof(StorageProviderConfiguration)).Get <StorageProviderConfiguration>(); if (serviceConfiguration == null) { throw new InvalidOperationException($"Could not load StorageProviderConfiguration from {configFile}, configuration file may be invalid or lacking read permissions!"); } var binnerConfig = new BinnerFileStorageConfiguration(storageProviderConfiguration.ProviderConfiguration); // support IOptions<> MS dependency injection services.Configure <WebHostServiceConfiguration>(options => configuration.GetSection(nameof(WebHostServiceConfiguration)).Bind(options)); // register traditional configuration with LightInject services.AddSingleton(serviceConfiguration); container.RegisterInstance(serviceConfiguration); services.AddSingleton(storageProviderConfiguration); container.RegisterInstance(storageProviderConfiguration); services.AddSingleton(binnerConfig); container.RegisterInstance(binnerConfig); return(configuration); }