Ссылка на DLL-файл библиотеки классов в Azure Функция, мне нужно настроить службы в Startup.cs? - PullRequest
0 голосов
/ 03 марта 2020

Я настроил DI в своей функции Azure, используя Microsoft.Azure.Functions.Extensions.DependencyInjection и Microsoft.Extensions.DependencyInjection. Итак, это мой стартап:

public class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services.AddTransient<IThingFactory, ThingFactory>();
    }
}

Это отлично работает в проекте, однако я добавил ссылку на SomeOtherProject.dll (один из моих библиотек классов проектов).

Мой вопрос: нужно ли мне настраивать службы для каждого из интерфейсов и реализаций SomeOtherProject, которые я буду использовать?

Ответы [ 2 ]

1 голос
/ 04 марта 2020

Это зависит от вас.

Если вы хотите использовать Внедрение зависимости Azure функция (рекомендуется), вы всегда должны настраивать службы для каждого из interfaces & implementations из SomeOtherProject.dll.

Например, в SomeOtherProject.dll у вас есть an interface с именем IRepository и a class с именем Repository, который реализует интерфейс. И затем в функции azure вы ссылаетесь на этот SomeOtherProject.dll, вы хотите использовать Внедрение зависимостей, как в этом примере , вы должны зарегистрировать их в Startup class, как это builder.Services.AddSingleton<IRepository, Repository>();

Но если вы не решите использовать Dependency Injection, в этом нет необходимости, просто используйте их напрямую.

0 голосов
/ 03 марта 2020

Я думаю, что в этом нет необходимости. если вы используете ссылку на dll, после добавления ссылок она может свободно использовать интерфейсы и реализации SomeOtherProject.

...