Как настроить IConfigurationRoot и Microsoft.Azure.WebJobs.ExecutionContext для внедрения зависимостей? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть приложение Azure Functions.Мне бы хотелось, чтобы мой код имел доступ к настройкам, настроенным для приложения функций Azure.Я использую Microsoft.Extensions.DependencyInjection для внедрения зависимостей.

Для доступа к данным конфигурации я использую этот код:

[FunctionName("MyEndpoint")]
public static Task<IActionResult> MyFuncAsync(ExecutionContext context)
        {
 IConfigurationRoot config = new ConfigurationBuilder()
                .SetBasePath(context.FunctionAppDirectory)
                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                .AddEnvironmentVariables()
                .Build();
}

Это прекрасно работает в самой функции.Тем не менее, я хотел бы иметь возможность внедрить IConfigurationRoot в мои классы.Я не могу понять, как настроить контейнер внедрения зависимостей, чтобы он создавал класс IConfigurationRoot, используя контекст выполнения, внедренный в метод функции Azure.Я хотел бы иметь возможность создать такой класс:

public class MyWorkerClass(IConfigurationRoot config) 
{
...
}
...