Вы можете сделать это разными способами.
Лучшим способом было бы использовать шаблон IOptions : в свой файл appsettings вы можете добавить:
"Position": {
"Title": "Editor",
"Name": "Joe Smith"
}
У вас должен быть класс, соответствующий объекту json выше:
public class PositionOptions
{
public const string Position = "Position";
public string Title { get; set; }
public string Name { get; set; }
}
Наконец, вы можете внедрить его в контейнер DI:
services.Configure<PositionOptions>(Configuration.GetSection(
PositionOptions.Position));
Если вы все еще хотите использовать несколько файлов appsetings, вы можете сделать следующее.
В Startup.cs:
private readonly IConfiguration _configurationName1;
private readonly IConfiguration _configurationName2;
public Startup(IConfiguration configuration)
{
_configurationName1 = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettingsWorker1.json")
.Build();
_configurationName2 = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettingsWorker2.json")
.Build();
}
Затем вы можете использовать отдельные конфигурации по запросу.