public override void Init(IServiceContainer serviceContainer, IDictionary <string, string> jobArgsDictionary) { base.Init(serviceContainer, jobArgsDictionary); InitializationConfiguration = _serviceProvider.GetRequiredService <IOptionsSnapshot <InitializationConfiguration> >().Value; var serializer = new ServiceBusMessageSerializer(); var topicClient = new TopicClientWrapper(InitializationConfiguration.EmailPublisherConnectionString, InitializationConfiguration.EmailPublisherTopicName); var enqueuer = new EmailMessageEnqueuer(topicClient, serializer, LoggerFactory.CreateLogger <EmailMessageEnqueuer>()); EmailService = new AsynchronousEmailMessageService( enqueuer, LoggerFactory.CreateLogger <AsynchronousEmailMessageService>(), InitializationConfiguration); FromAddress = new MailAddress(InitializationConfiguration.MailFrom); var storageAccount = CloudStorageAccount.Parse(InitializationConfiguration.DataStorageAccount); var storageFactory = new AzureStorageFactory( storageAccount, InitializationConfiguration.ContainerName, LoggerFactory.CreateLogger <AzureStorage>()); Storage = storageFactory.Create(); }
protected override void ConfigureJobServices(IServiceCollection services, IConfigurationRoot configurationRoot) { services.Configure <CertificateStoreConfiguration>(configurationRoot.GetSection(CertificateStoreConfigurationSectionName)); SetupDefaultSubscriptionProcessorConfiguration(services, configurationRoot); services.AddTransient <IBrokeredMessageSerializer <CertificateValidationMessage>, CertificateValidationMessageSerializer>(); services.AddTransient <IMessageHandler <CertificateValidationMessage>, CertificateValidationMessageHandler>(); services.AddTransient <ICertificateStore>(p => { var config = p.GetRequiredService <IOptionsSnapshot <CertificateStoreConfiguration> >().Value; var targetStorageAccount = CloudStorageAccount.Parse(config.DataStorageAccount); var storageFactory = new AzureStorageFactory(targetStorageAccount, config.ContainerName, LoggerFactory.CreateLogger <AzureStorage>()); var storage = storageFactory.Create(); return(new CertificateStore(storage, LoggerFactory.CreateLogger <CertificateStore>())); }); services.AddTransient <ICertificateVerifier, OnlineCertificateVerifier>(); services.AddTransient <ICertificateValidationService, CertificateValidationService>(); services.AddTransient <ITelemetryService, TelemetryService>(); services.AddTransient <ISubscriptionProcessorTelemetryService, TelemetryService>(); services.AddSingleton(new TelemetryClient()); }
public override void Init(IDictionary <string, string> jobArgsDictionary) { _whatIf = JobConfigurationManager.TryGetBoolArgument(jobArgsDictionary, JobArgumentNames.WhatIf); var databaseConnectionString = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.GalleryDatabase); _galleryDatabase = new SqlConnectionStringBuilder(databaseConnectionString); _galleryBrand = JobConfigurationManager.GetArgument(jobArgsDictionary, MyJobArgumentNames.GalleryBrand); _galleryAccountUrl = JobConfigurationManager.GetArgument(jobArgsDictionary, MyJobArgumentNames.GalleryAccountUrl); _mailFrom = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.MailFrom); var smtpConnectionString = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.SmtpUri); var smtpUri = new SmtpUri(new Uri(smtpConnectionString)); _smtpClient = CreateSmtpClient(smtpUri); _warnDaysBeforeExpiration = JobConfigurationManager.TryGetIntArgument(jobArgsDictionary, MyJobArgumentNames.WarnDaysBeforeExpiration) ?? _warnDaysBeforeExpiration; _allowEmailResendAfterDays = JobConfigurationManager.TryGetIntArgument(jobArgsDictionary, MyJobArgumentNames.AllowEmailResendAfterDays) ?? _allowEmailResendAfterDays; var storageConnectionString = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.DataStorageAccount); var storageContainerName = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.ContainerName); var storageAccount = CloudStorageAccount.Parse(storageConnectionString); var storageFactory = new AzureStorageFactory(storageAccount, storageContainerName, LoggerFactory); _storage = storageFactory.Create(); }
static async Task Test1Async() { StorageCredentials credentials = new StorageCredentials("", ""); CloudStorageAccount account = new CloudStorageAccount(credentials, true); StorageFactory factory = new AzureStorageFactory(account, "ver40", "catalog", new Uri("https://tempuri.org/test")); Console.WriteLine(factory); Storage storage = factory.Create(); StorageContent content = new StringStorageContent("TEST"); await storage.Save(new Uri(storage.BaseAddress, "doc1.txt"), content); }
public override void Init(IServiceContainer serviceContainer, IDictionary <string, string> jobArgsDictionary) { base.Init(serviceContainer, jobArgsDictionary); Configuration = _serviceProvider.GetRequiredService <IOptionsSnapshot <InitializationConfiguration> >().Value; SmtpClient = CreateSmtpClient(Configuration.SmtpUri); var storageAccount = CloudStorageAccount.Parse(Configuration.DataStorageAccount); var storageFactory = new AzureStorageFactory(storageAccount, Configuration.ContainerName, LoggerFactory); Storage = storageFactory.Create(); }
public override bool Init(IDictionary <string, string> jobArgsDictionary) { try { var instrumentationKey = JobConfigurationManager.TryGetArgument(jobArgsDictionary, JobArgumentNames.InstrumentationKey); ApplicationInsights.Initialize(instrumentationKey); var loggerConfiguration = LoggingSetup.CreateDefaultLoggerConfiguration(ConsoleLogOnly); var loggerFactory = LoggingSetup.CreateLoggerFactory(loggerConfiguration); _logger = loggerFactory.CreateLogger <Job>(); _whatIf = JobConfigurationManager.TryGetBoolArgument(jobArgsDictionary, JobArgumentNames.WhatIf); var databaseConnectionString = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.GalleryDatabase); _galleryDatabase = new SqlConnectionStringBuilder(databaseConnectionString); _galleryBrand = JobConfigurationManager.GetArgument(jobArgsDictionary, MyJobArgumentNames.GalleryBrand); _galleryAccountUrl = JobConfigurationManager.GetArgument(jobArgsDictionary, MyJobArgumentNames.GalleryAccountUrl); _mailFrom = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.MailFrom); var smtpConnectionString = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.SmtpUri); var smtpUri = new SmtpUri(new Uri(smtpConnectionString)); _smtpClient = CreateSmtpClient(smtpUri); _warnDaysBeforeExpiration = JobConfigurationManager.TryGetIntArgument(jobArgsDictionary, MyJobArgumentNames.WarnDaysBeforeExpiration) ?? _warnDaysBeforeExpiration; _allowEmailResendAfterDays = JobConfigurationManager.TryGetIntArgument(jobArgsDictionary, MyJobArgumentNames.AllowEmailResendAfterDays) ?? _allowEmailResendAfterDays; var storageConnectionString = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.DataStorageAccount); var storageContainerName = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.ContainerName); var csa = CloudStorageAccount.Parse(storageConnectionString); var storageFactory = new AzureStorageFactory(csa, storageContainerName, loggerFactory); _storage = storageFactory.Create(); } catch (Exception exception) { _logger.LogCritical(LogEvents.JobInitFailed, exception, "Failed to initialize job!"); return(false); } return(true); }
protected override void ConfigureJobServices(IServiceCollection services, IConfigurationRoot configurationRoot) { services.Configure <CertificateStoreConfiguration>(configurationRoot.GetSection(CertificateStoreConfigurationSectionName)); services.AddTransient <ISubscriptionProcessor <SignatureValidationMessage>, SubscriptionProcessor <SignatureValidationMessage> >(); services.AddScoped <IEntitiesContext>(serviceProvider => new EntitiesContext( serviceProvider.GetRequiredService <IOptionsSnapshot <GalleryDbConfiguration> >().Value.ConnectionString, readOnly: false)); services.Add(ServiceDescriptor.Transient(typeof(IEntityRepository <>), typeof(EntityRepository <>))); services.AddTransient <ICorePackageService, CorePackageService>(); services.AddTransient <ITelemetryService, TelemetryService>(); services.AddTransient <ICertificateStore>(p => { var config = p.GetRequiredService <IOptionsSnapshot <CertificateStoreConfiguration> >().Value; var targetStorageAccount = CloudStorageAccount.Parse(config.DataStorageAccount); var storageFactory = new AzureStorageFactory(targetStorageAccount, config.ContainerName, LoggerFactory.CreateLogger <AzureStorage>()); var storage = storageFactory.Create(); return(new CertificateStore(storage, LoggerFactory.CreateLogger <CertificateStore>())); }); services.AddTransient <IProcessorPackageFileService, ProcessorPackageFileService>(p => new ProcessorPackageFileService( p.GetRequiredService <ICoreFileStorageService>(), typeof(PackageSigningValidator), p.GetRequiredService <ILogger <ProcessorPackageFileService> >())); services.AddTransient <IBrokeredMessageSerializer <SignatureValidationMessage>, SignatureValidationMessageSerializer>(); services.AddTransient <IMessageHandler <SignatureValidationMessage>, SignatureValidationMessageHandler>(); services.AddTransient <IPackageSigningStateService, PackageSigningStateService>(); services.AddTransient <ISignaturePartsExtractor, SignaturePartsExtractor>(); services.AddTransient <ISignatureValidator, SignatureValidator>(p => new SignatureValidator( p.GetRequiredService <IPackageSigningStateService>(), PackageSignatureVerifierFactory.CreateMinimal(), PackageSignatureVerifierFactory.CreateFull(), p.GetRequiredService <ISignaturePartsExtractor>(), p.GetRequiredService <IProcessorPackageFileService>(), p.GetRequiredService <ICorePackageService>(), p.GetRequiredService <ITelemetryService>(), p.GetRequiredService <ILogger <SignatureValidator> >())); }