← Каталог
Справочник по ASP.NET — 3. Внедрение зависимостей (`IServiceCollection`)
Фрагмент из «Справочник по ASP.NET»: 3. Внедрение зависимостей (`IServiceCollection`).
// Конкретный тип
services.AddSingleton<ILoggerProvider, FileLoggerProvider>();
// Интерфейс → реализация
services.AddScoped<IRepository, EfRepository>();
// Фабрика
services.AddTransient<IService>(sp => {
var config = sp.GetRequiredService<IConfiguration>();
return new MyService(config["ApiKey"]);
});
// Декоратор (ручная реализация)
services.AddScoped<ICacheService, RedisCacheService>();
services.Decorate<ICacheService, LoggingCacheDecorator>();
// (требует Microsoft.Extensions.DependencyInjection.Decorator или аналога) // Конкретный тип
services.AddSingleton<ILoggerProvider, FileLoggerProvider>();
// Интерфейс → реализация
services.AddScoped<IRepository, EfRepository>();
// Фабрика
services.AddTransient<IService>(sp => {
var config = sp.GetRequiredService<IConfiguration>();
return new MyService(config["ApiKey"]);
});
// Декоратор (ручная реализация)
services.AddScoped<ICacheService, RedisCacheService>();
services.Decorate<ICacheService, LoggingCacheDecorator>();
// (требует Microsoft.Extensions.DependencyInjection.Decorator или аналога)