protected override Task RunAsync(CancellationToken cancellationToken) { return(Task.Run(() => { var builder = new ConfigurationBuilder() .AddServiceFabricConfiguration(); var configuration = builder.Build(); var appConfiguration = configuration.GetSection("Config"); var rmqPublisher = new RmqPublisherBuilder() .UsingConfigConnectionSettings(configuration.GetSection("Config:RmqConnectionSettings")) .Build(); var rmqConsumer = new RmqConsumerBuilder() .UsingConfigConnectionSettings(configuration.GetSection("Config:RmqConnectionSettings")) .Build(); var serviceProvider = new ServiceCollection() .AddSingleton <IConfigurationSection>(appConfiguration) .AddSingleton <IRmqConsumer>(rmqConsumer) .AddSingleton <IRmqPublisher>(rmqPublisher) .AddSingleton <ICsvConverter, CsvConverter>() .AddSingleton <ICsvToJsonConverterEngine, CsvToJsonConverterEngine>() .BuildServiceProvider(); var engine = serviceProvider.GetService <ICsvToJsonConverterEngine>(); engine.Start(); })); }
public void GivenIHaveDeploymentServiceWithThisParameters(Table table) { var clientsettings = table.Rows.ToDictionary(r => r["Key"], r => r["Value"]); var configurationRoot = new ConfigurationBuilder() .AddInMemoryCollection(clientsettings) .Build(); var configurationSection = configurationRoot.GetSection("Config"); var rmqConsumer = new RmqConsumerBuilder() .UsingQueue( configurationSection .GetSection("Binding") .GetValue <string>("ReceiverQueue")) .UsingDefaultConnectionSetting() .Build(); var deploymentManagerHandler = new DeploymentManagerWrapper(); var componentDetailsReader = objectContainer.Resolve <DeployingComponentProvider>(); CancellationToken cancellationToken = new CancellationToken(); var deploymentService = new DeploymentServiceChirushin( rmqConsumer, deploymentManagerHandler, componentDetailsReader, configurationSection); deploymentService.Start(cancellationToken); }
public void ConfigureServices(IServiceCollection services) { services.Configure <IISServerOptions>(options => { options.AutomaticAuthentication = false; }); services.AddControllers(); services.AddHostedService <DeploymentHostedService>(); var deploymentServiceConfigSection = this.Configuration.GetSection("DeploymentService"); var rmqPublisher = new RmqPublisherBuilder() .UsingDefaultConnectionSetting() .Build(); var rmqConsumer = new RmqConsumerBuilder() .UsingDefaultConnectionSetting() .Build(); services.AddSingleton <IRmqConsumer>(rmqConsumer); services.AddSingleton <IRmqPublisher>(rmqPublisher); services.AddScoped <IRmqBindingService, RmqBindingService>(); services.AddScoped <IRmqManagementService, RmqManagementService>(); services.AddSingleton <IDeploymentServiceProvider, DeploymentServiceProvider>(); services.AddSingleton <IConfigurationSection>(deploymentServiceConfigSection); //dependency for DeploymentServiceChirushin services.AddSingleton <IDeploymentService, DeploymentServiceChirushin>(); services.AddSingleton <IDeploymentManagerWrapper, DeploymentManagerWrapper>(); services.AddSingleton <IComponentDetailsReader, ComponentDetailsReader>(); services.AddSingleton <IInfoLogger, Logger>(); services.AddScoped(typeof(HttpClient)); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Component Configurator", Description = "Component Configurator" }); }); }
protected override Task RunAsync(CancellationToken cancellationToken) { return(Task.Run(() => { var builder = new ConfigurationBuilder() .AddServiceFabricConfiguration(); var configuration = builder.Build(); var configurationSection = configuration.GetSection("Config"); var applicationName = configurationSection.GetValue <string>("Application:Name"); ConfigureLogging(applicationName); var loggerService = new LoggerService(Log.Logger, applicationName); loggerService.RunWithExceptionLogging(() => { var rmqPublisher = new RmqPublisherBuilder() .UsingConfigConnectionSettings(configuration.GetSection("Config:RmqConnectionSettings")) .Build(); var rmqConsumer = new RmqConsumerBuilder() .UsingConfigConnectionSettings(configuration.GetSection("Config:RmqConnectionSettings")) .Build(); var serviceProvider = new ServiceCollection() .AddSingleton <ILoggerServiceSerilog>(loggerService) .AddSingleton <IConfigurationSection>(configurationSection) .AddSingleton <IRmqConsumer>(rmqConsumer) .AddSingleton <IRmqPublisher>(rmqPublisher) .AddSingleton <ITextExtractorEngine, TextExtractorEngine>() .BuildServiceProvider(); var engine = serviceProvider.GetService <ITextExtractorEngine>(); engine.Start(); loggerService.Information("Service started"); }); })); }