Dependency injection
Overview
Registering services
internal class DataExchangeStarter : StarterBase
{
public override void ConfigureServices(IServiceCollection services, IApplicationContext appContext)
{
services.AddDownloadManager();
}
public override void ConfigureContainer(ContainerBuilder builder, IApplicationContext appContext)
{
builder.RegisterType<ExportProfileService>().As<IExportProfileService>().InstancePerLifetimeScope();
builder.RegisterType<ImportProfileService>().As<IImportProfileService>().InstancePerLifetimeScope();
builder.RegisterType<DataExporter>().As<IDataExporter>().InstancePerLifetimeScope();
builder.RegisterType<DataImporter>().As<IDataImporter>().InstancePerLifetimeScope();
builder.RegisterType<MediaImporter>().As<IMediaImporter>().InstancePerDependency();
// Additional code omitted for clarity.
}
}Dependency scopes
Via ContainerBuilder
Via IServiceCollection
Results in
Special registrations
Resolving services
Constructor injection
Property injection
"Work<T>" dependency
Custom dependency scopes
Last updated
Was this helpful?