Пересылка уникального URL для электронной почты в Gmail

Я решил это, зарегистрировав некоторый код в событии, запущенном приложением.

В режиме Configure:

            appLifetime.ApplicationStarted.Register(() =>
            {
                InitializeSingletonObjects(app, loggerFactory);
            });

В этот момент все инициализировано правильно, и вы можете делать все, что угодно хотите в InitializeSingletonObjects. В моем случае это то, что я сделал.

        private void InitializeSingletonObjects(IApplicationBuilder app, ILoggerFactory loggerFactory)
        {
            // email template processor
            var emailRepository = app.ApplicationServices.GetService();
            IEmailTemplateProcessor emailTemplateProcessor = app.ApplicationServices.GetService();
            string containerName = appConfiguration.AzureBlobStorage.BlobStorageContainerEmailTemplates;
            var emailTemplates = emailRepository.GetEmailTemplates(true);

            emailTemplateProcessor.Initialize(containerName, emailTemplates);
        }

Подробнее о IApplicationLifetime в https://www.khalidabuhakmeh.com/looking-at-asp-net-cores-iapplicationlifetime

1
задан Josh 28 February 2019 в 22:24
поделиться