首页 / 问答 / ASP.NET Core(.NET 6)程序中如何在其他类中访问Configuration配置文件信息呢?

ASP.NET Core(.NET 6)程序中如何在其他类中访问Configuration配置文件信息呢?

.NET C# .NET Core ASP.NET Core .NET 6 1.28K 次浏览
0

ASP.NET Core的应用程序中,在Startup.cs启动文件中,我们可以比较容易地访问配置文件信息,比如:

public class Startup
{
    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);

        builder.AddEnvironmentVariables();
        Configuration = builder.Build();
    }

    public IConfigurationRoot Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        app.UseMvc();
    }
}

但如何在其他类文件(非控制器)中访问程序的配置文件appsettings.json中的配置信息呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    如果是非静态类,则可以使用类的构造函数注入IConfiguration参数,如下:

    然后,在启动文件Startup.cs中注册MyClass服务,如下:

    最后,在控制器调用示例如下:

    Rector的个人主页

    Rector

    2022-04-16 回答

    • 0

      如果需要在静态类中访问IConfiguration实例以及配置信息,则可以使用静态字段来存储IConfiguration实例,并在启动文件Startup.cs类中初始化。

      假设有如下的静态类:

      在启动文件Startup.cs中初始化IConfiguration,如下:

      Rector的个人主页

      Rector

      2022-04-16 回答

      我来回答