using System.Reflection; using Autofac; using AutoMapper; using MediatR; using ModernKeePass.Application.Common.Mappings; using Module = Autofac.Module; namespace ModernKeePass.Application { public class ApplicationModule: Module { protected override void Load(ContainerBuilder builder) { // Register Automapper profiles builder.RegisterType().As(); // Register Mediatr builder .RegisterType() .As() .InstancePerLifetimeScope(); // request & notification handlers builder.Register(context => { var c = context.Resolve(); return t => c.Resolve(t); }); builder.RegisterAssemblyTypes(typeof(ApplicationModule).GetTypeInfo().Assembly).AsImplementedInterfaces(); } } }