startup.csの外でappsettings.jsonの値を読み取る方法がわかりません。私は何をしたいのは、例えば、ある_Layout.cshtmlであり、設定からサイト名を追加します。コントローラクラスのappsettings.json値にアクセスする
ViewData["SiteName"] = Configuration.GetValue<string>("SiteSettings:SiteName");
あるいはさらに良い:
public class GlobalVars {
public static string SiteName => Configuration.GetValue<string>("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<string>("SiteSettings:SiteName");
}
public IConfigurationRoot Configuration { get; }
たぶん私は間違ったドキュメントを読んでいるが、私はスタートアップクラスの外で構成オブジェクトを公開するように見えることはできません。あなたのStartup.csで
あなたがこれを見ました:http://stackoverflow.com/questions/31453495/how-to-read- configset-values-from-config-json-in-asp-net-vnext –