private void InitializeContainer(IApplicationBuilder app) { // Add application presentation components container.RegisterMvcControllers(app); container.RegisterMvcViewComponents(app); // Add application services. container.Register <IDbContext>(() => app.GetRequiredRequestService <StoriesDbContext>(), Lifestyle.Scoped); container.Register <IStoryService, StoryService>(); container.Register <IAuthenticationService, AuthenticationService>(); container.Register <IPasswordService, PasswordService>(); container.Register <IUserService, UserService>(); container.Register <ICommentService, CommentService>(); container.Register <IVoteService, VoteService>(Lifestyle.Scoped); container.Register(typeof(IValidator <>), new[] { typeof(IValidator <>).GetTypeInfo().Assembly }); container.RegisterConditional(typeof(IValidator <>), typeof(NullValidator <>), c => !c.Handled); container.Register <IEmailRule, EmailRule>(); container.Register <IReferralCodeRule, ReferralCodeRule>(); container.Register <IReferralService, ReferralService>(); container.Register <IVoteQueueService, VoteQueueService>(Lifestyle.Scoped); var AmpqOptions = Configuration.GetSection("AMQPOptions").Get <AMQPOptions>(); container.Register <IRabbitMQConnectionProvider>(() => new RabbitMQConnectionProvider(AmpqOptions), Lifestyle.Scoped); container.Register <IMessageService, RabbitMQMessageService>(Lifestyle.Scoped); MailgunOptions mailgunOptions = Configuration.GetSection("Mailgun").Get <MailgunOptions>(); container.Register <IMailService>(() => new MailgunEmailService(mailgunOptions)); container.RegisterConditional(typeof(Logging.ILogger), ctx => typeof(Logging.NLogAdaptor <>).MakeGenericType(ctx.Consumer.ImplementationType), Lifestyle.Singleton, context => true); }
public MailgunEmailService(MailgunOptions options) { Options = options; }
public EmailHandler(IOptions <MailgunOptions> mailgunOptions) { _mailgunOptions = mailgunOptions.Value; }