栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从ASP.NET Core中的.json文件读取AppSettings值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从ASP.NET Core中的.json文件读取AppSettings值

这有些曲折。我已修改此答案以使其与 ASP.NET Core 2.0 保持最新(截至2018年2月26日)。

这主要来自官方文档:

若要使用ASP.NET应用程序中的设置,建议仅

Configuration
在应用程序的
Startup
类中实例化一个。然后,使用“选项”模式访问各个设置。假设我们有一个
appsettings.json
看起来像这样的文件:

{  "MyConfig": {   "ApplicationName": "MyApp",   "Version": "1.0.0"   }}

我们有一个POCO对象代表配置:

public class MyConfig{    public string ApplicationName { get; set; }    public int Version { get; set; }}

现在,我们在中构建配置

Startup.cs

public class Startup {    public IConfigurationRoot Configuration { get; set; }    public Startup(IHostingEnvironment env)    {        var builder = new ConfigurationBuilder() .SetbasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);        Configuration = builder.Build();    }}

请注意, 默认情况下将 在.NET Core 2.0中

appsettings.json
进行 注册
appsettings.{Environment}.json
如果需要,我们还可以为每个环境注册一个配置文件。

如果要将配置注入控制器,则需要在运行时注册它。我们通过

Startup.ConfigureServices

public void ConfigureServices(IServiceCollection services){    services.AddMvc();    // Add functionality to inject IOptions<T>    services.AddOptions();    // Add our Config object so it can be injected    services.Configure<MyConfig>(Configuration.GetSection("MyConfig"));}

我们像这样注入它:

public class HomeController : Controller{    private readonly IOptions<MyConfig> config;    public HomeController(IOptions<MyConfig> config)    {        this.config = config;    }    // GET: /<controller>/    public IActionResult Index() => View(config.Value);}

Startup
类:

public class Startup {    public IConfigurationRoot Configuration { get; set; }    public Startup(IHostingEnvironment env)    {        var builder = new ConfigurationBuilder() .SetbasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);        Configuration = builder.Build();    }    public void ConfigureServices(IServiceCollection services)    {        services.AddMvc();        // Add functionality to inject IOptions<T>        services.AddOptions();        // Add our Config object so it can be injected        services.Configure<MyConfig>(Configuration.GetSection("MyConfig"));    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573275.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号