Доступ к пользовательскому разделу appsettings.json внутри моего asp.net основное консольное приложение

#asp.net-core #.net-core #appsettings

Вопрос:

appsettings.json У меня внутри есть следующее Asp.NET основное консольное приложение:-

 {
  "ConnectionStrings": {
    "ConnectionString": "Server=localhost;Database=ServiceDesk;Trusted_Connection=True"
  },
  "SP": {
    "SiteURL": "https://***.sharepoint.com/"
  }
}
 

теперь я хочу получить доступ к SiteURL , я устал от следующего, но это не сработало:-

 var section = config.GetSection("SP");
var ClientConfig = section.GetChildren();
string siteUrl = ClientConfig.ToString();
 

Ответ №1:

Создайте модель, соответствующую настройкам для хранения данных

 public class SharePointOptions {
    public string SiteURL { get; set; }
}
 

Затем свяжитесь с разделом из конфигурации

 SharePointOptions options = config.GetSection("SP").Get<SharePointOptions>();
string siteUrl = options.SiteURL;
 

Эталонная конфигурация в ASP.NET Сердечник

ConfigurationBinder.Get<T> связывает и возвращает указанный тип. ConfigurationBinder.Get<T> может быть удобнее, чем использовать ConfigurationBinder.Bind .

Ответ №2:

Вы можете получить значение из конфигурации с помощью ключа, подобного этому.

appsettings.json

 {
    "key": "value"
}
 
 var v = config["key"];
 

для вложенных значений используйте Parent:Key обозначения