Example #1
0
        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();
        }
Example #2
0
        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());
        }
Example #3
0
        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();
        }
Example #4
0
        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);
        }
Example #5
0
        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();
        }
Example #6
0
        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);
        }
Example #7
0
        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> >()));
        }