Доступ к значениям appsettings.json в классах контроллераC#

Место общения программистов C#
Anonymous
Доступ к значениям appsettings.json в классах контроллера

Сообщение Anonymous »

Не удалось понять, как читать значения appsettings.json за пределами файла Startup.cs. Например, я хотел бы добавить в _Layout.cshtml имя сайта из конфигурации:

Например:

Код: Выделить всё

ViewData["SiteName"] = Configuration.GetValue("SiteSettings:SiteName");
Или даже лучше:

Код: Выделить всё

public class GlobalVars {
public static string SiteName => Configuration.GetValue("SiteSettings:SiteName");
}
Вот мой код:

[appsettings.json]

Код: Выделить всё

"SiteSettings": {
"SiteName": "MySiteName"
}
[startup.cs]

Код: Выделить всё

public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();

var siteName = Configuration.GetValue("SiteSettings:SiteName");
}

public IConfigurationRoot Configuration { get; }
Возможно, я неправильно читаю документацию, но я не могу представить объект Configuration вне класса Startup.

Подробнее здесь: https://stackoverflow.com/questions/383 ... er-classes

Вернуться в «C#»