public MessageService( IUnitOfWork unitOfWork, IContentStorage contentStorage, CloudStorageConfiguration cloudStorageConfiguration, AttachmentConfiguration attachmentConfiguration) : base(unitOfWork) { _contentStorage = contentStorage; _cloudStorageConfiguration = cloudStorageConfiguration; _attachmentConfiguration = attachmentConfiguration; }
protected override void Load(ContainerBuilder builder) { var configurationRoot = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); builder.RegisterInstance( configurationRoot) .As <IConfigurationRoot>(); builder.Register(x => { var storage = new AzureCloudStorage(configurationRoot["AzureStorage:ConnectionString"]); return(storage); }) .As <IContentStorage>(); builder.Register(x => { var cfg = new CloudStorageConfiguration( configurationRoot["AzureStorage:ContentStorageHost"], configurationRoot["AzureStorage:MessageAttachmentsContainer"], configurationRoot["AzureStorage:MemberAvatarsContainer"], configurationRoot["AzureStorage:ChannelImagesContainer"], configurationRoot["AzureStorage:TempContainerName"], Convert.ToInt32(configurationRoot["AzureStorage:MessagePhotoSize"])); return(cfg); }); builder.Register(x => { var cfg = new AttachmentConfiguration(Convert.ToInt32(configurationRoot["MessageAttachments:Limit"])); return(cfg); }); builder.Register(context => { var lifetimeScope = context.Resolve <ILifetimeScope>(); return(new AutofacServiceProvider(lifetimeScope)); }) .As <IServiceProvider>() .SingleInstance(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterType <ChannelService>() .As <IChannelService>(); builder.RegisterType <MemberService>() .As <IMemberService>(); builder.RegisterType <MessageService>() .As <IMessageService>(); builder.RegisterType <ChannelMemberService>() .As <IChannelMemberService>(); builder.Register(x => { var context = x.Resolve <IComponentContext>(); var configurationRoot = context.Resolve <IConfiguration>(); var cfg = new CloudStorageConfiguration( configurationRoot["AzureStorage:ContentStorageHost"], configurationRoot["AzureStorage:MessageAttachmentsContainer"], configurationRoot["AzureStorage:MemberAvatarsContainer"], configurationRoot["AzureStorage:ChannelImagesContainer"], configurationRoot["AzureStorage:TempContainerName"], Convert.ToInt32(configurationRoot["AzureStorage:MessagePhotoSize"])); return(cfg); }); builder.Register(x => { var context = x.Resolve <IComponentContext>(); var configurationRoot = context.Resolve <IConfiguration>(); var cfg = new AttachmentConfiguration(Convert.ToInt32(configurationRoot["MessageAttachments:Limit"])); return(cfg); }); }