public static void Configure(HostBuilderContext hostBuilderContext, IServiceCollection services) { DefaultTypeMap.MatchNamesWithUnderscores = true; var settings = new HomeEventsSettings(); services.Scan(scanner => { scanner.FromAssemblyOf <HomeEventsAssemblyLocator>().AddClasses().AsMatchingInterface().WithSingletonLifetime(); scanner.FromCallingAssembly().AddClasses().AsSelf().AsMatchingInterface().WithTransientLifetime(); }); services.AddSingleton <IHomeEventsSettings>(settings); services.AddSingleton <IInternalRepository <DarkSkyLog>, DarkSkyLogRepository>(); services.AddSingleton <IInternalRepository <MiniPonicsImageData>, MiniPonicsImageDataRepository>(); }
public static ServiceProvider GetServiceProvider() { var services = new ServiceCollection(); DefaultTypeMap.MatchNamesWithUnderscores = true; var settings = new HomeEventsSettings("appsettings_integration.json"); services.Scan(scanner => { scanner.FromAssemblyOf <HomeEventsAssemblyLocator>().AddClasses().AsSelfWithInterfaces().AsMatchingInterface().WithSingletonLifetime(); scanner.FromCallingAssembly().AddClasses().AsSelf().AsMatchingInterface().WithTransientLifetime(); }); services.AddSingleton <IHomeEventsSettings>(settings); return(services.BuildServiceProvider()); }