Создайте класс, соответствующий структуре вашего JSON, и поместите его в «обычное» место:
public class AppSettings
{
public Uri APIURL { get; set; }
}
Создайте где-нибудь экземпляр AppSettings
(мне нравится создавать его вConfigureServices
и затем зарегистрируйте его в контейнере).Например,
// create a new instance
var appsettings = new AppSettings();
// get section from the config served up by the various .NET Core configuration providers (including file JSON provider)
var section = Configuration.GetSection("AppSettings");
// bind (i.e. hydrate) the config to this instance
section.Bind(appsettings);
// make this object available to other services
services.AddSingleton(appsettings);
Затем, когда вам нужно использовать appsettings
, вы можете сделать это, просто внедрив его в любые службы, которые в этом нуждаются.Например
public class SomeService
{
private readonly AppSettings _settings;
public SomeService(AppSettings settings) => _settings = settings;
...
}