Внедрение зависимостей в azure функция V2 с файлом конфигурации (Json / MXL) - PullRequest
0 голосов
/ 24 апреля 2020

Я работал в webapi 2 и разрешил все зависимости с помощью единицы.

Все зависимости в приложении были помещены в файл unity.config, и зависимости будут разрешены с помощью приведенного ниже фрагмента кода.

using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.Configuration; 

var section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
container = new UnityContainer().LoadConfiguration(section);

Теперь у меня есть аналогичное требование, которое должно быть реализовано с использованием Azure V2 функций. Я знаю, что это может быть реализовано с помощью стандартного DI, предоставляемого Microsoft, или любого другого распознавателя зависимостей, такого как Autofa c.

builder.Services.AddTransient<IEmployee, EmployeeProvider.Employee>();           

Однако, мое конкретное требование c , как можно разрешить зависимость в azure V2 функционирует, помещая зависимости в json или конфигурационные файлы вместо обычного способа разрешения 'Services.AddTransient ();'.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 24 апреля 2020

Да, вы можете иметь все, что захотите, myFile.config.json. Все, что вам нужно сделать, это просто внедрить его из класса запуска.

var config = new ConfigurationBuilder()
     ..SetBasePath(Environment.CurrentDirectory)
     .AddJsonFile("app.settings.json", optional: true, reloadOnChange: true)
     .AddEnvironmentVariables()
     .Build();

Для доступа к значениям из файла вы можете использовать класс IConfiguration.

public MyService(IConfiguration configuration){
  var emailConfig = configuration.GetSection("Email");
  var userName = emailConfig["Username"];
}

Примечание: .AddEnvironmentVariables() автоматически развернет его в настройках приложения портала!

...