К сожалению, по умолчанию в конфигурации ASP.Net Core значения переопределяются.
Я регистрирую файлы с помощью следующего кода (часть файла Program.cs):
Код: Выделить всё
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((webHostBuilderContext, configurationbuilder) =>
{
var env = webHostBuilderContext.HostingEnvironment;
configurationbuilder.SetBasePath(env.ContentRootPath);
configurationbuilder.AddJsonFile("appsettings.json", false, true);
var path = Path.Combine(env.ContentRootPath, "App_Config\\Include");
foreach(var file in Directory.EnumerateFiles(path, "*.json",SearchOption.AllDirectories))
{
configurationbuilder.AddJsonFile(file, false, true);
}
configurationbuilder.AddEnvironmentVariables();
})
.UseStartup();
Структура файлов выглядит следующим образом:
Код: Выделить всё
{
"ServicesConfiguration": {
"Services": [
{
"AssemblyName": "ParsingEngine.ServicesConfigurator, ParsingEngine"
}
]
}
}
Как видите, у меня есть основной раздел ServicesConfiguration, затем массив Services с объектами, имеющими один атрибут AssemblyName.
p>
Чтобы прочитать эти значения, я использую класс ServicesConfiguration со списком:
Код: Выделить всё
public class ServicesConfiguration
{
public List Services { get; set; }
}
Код: Выделить всё
public class ServiceAssembly
{
public string AssemblyName { get; set; }
}
Код: Выделить всё
Microsoft.Extensions.Options.IOptions servicesConfiguration,
Есть идеи, как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/539 ... tion-files
Мобильная версия