C#学习教程:访问控制器类中的appsettings.json值分享


访问控制器类中的appsettings.json值

无法弄清楚如何读取startup.cs之外的appsettings.json值。 我想做的是,例如,在_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; } 

也许我正在阅读文档错误,但我似乎无法在Startup类之外公开Configuration对象。

在你的Startup.cs中

  public void ConfigureServices(IServiceCollection services) { services.AddSingleton(Configuration); } 

然后在你的控制器中:

上述就是C#学习教程:访问控制器类中的appsettings.json值分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

 public class ValuesController : Controller { IConfiguration configuration; public ValuesController(IConfiguration configuration) { this.configuration = configuration; } } 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1269762.html

(0)
上一篇 1天前
下一篇 1天前

精彩推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注