расширение IServiceCollection в asp net ядре - PullRequest
1 голос
/ 16 января 2020

Я хочу создать проект библиотеки классов, и в этот проект включены некоторые интерфейсы и классы, реализующие эти интерфейсы.

После этого я хочу предоставить этот проект библиотеки классов в виде пакета nuget, поэтому , было бы идеально иметь какое-то расширение от IServiceCollection, чтобы после установки nuget с одной строкой кода в Startup.cs, ConfigureServices() в приложении, использующем nuget, сделать что-то подобное:

services.AddServicesFromMyNugetPackage()

и этот метод будет выполняться на основе IServiceCollection методов, моей конфигурации для DI.

любая идея?

1 Ответ

2 голосов
/ 16 января 2020

В вашей библиотеке вы можете создать класс stati c и написать несколько методов расширений, в которых вы можете зарегистрировать свои зависимости, как показано в следующем примере:

public static class ServicesExtensions
{
        public static void AddMyLibraryServices(this IServiceCollection services)
        {
            // register your services here
        }
 }

, а затем в файле запуска:

services.AddMyLibraryServices();
...