c# - 如何从 ConfigureServices() 中访问 CreateDefaultBuilder() 提供的 IConfiguration?

标签 c# asp.net-core .net-core

我通常会做以下事情

static void Main()
{
    IConfiguration config = new ConfigurationBuilder()
                        .SetBasePath(Directory.GetCurrentDirectory())
                        .AddJsonFile("appsettings.json", false, true)
                        .Build();

    Host.CreateDefaultBuilder()
        .ConfigureServices(isc =>
        {
            isc.AddSingleton(config);

            isc.AddDbContext<DbContext>(options =>
            {
                options.UseSqlServer(config.GetConnectionString("Duplicate"));
            });
        })                
        .Build();
}

我只知道 appsettings.json 的配置已经由 CreateDefaultBuilder() 提供,所以我认为我应该能够按如下方式简化我的代码。

static void Main()
{
    Host.CreateDefaultBuilder()
        .ConfigureServices(isc =>
        {
            isc.AddDbContext<DbContext>(options =>
            {
                options.UseSqlServer(********.GetConnectionString("Duplicate"));
            });
        })                
        .Build();
}

问题

如何获取默认提供的配置********

最佳答案

您可以使用 ConfigureServices 的另一个重载来访问它:

Host.CreateDefaultBuilder(args)
    .ConfigureServices((context, services) =>
    {
        var config = context.Configuration;
    });

关于c# - 如何从 ConfigureServices() 中访问 CreateDefaultBuilder() 提供的 IConfiguration?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71480200/

相关文章:

c# - 如何在.NET Core中连接不同类型的数据库

c# - 是否有必要在类库中部署 XML 文件?

c# - 使用日期将 JQuery JSON 发送到 WCF REST

c# - 在 asp.net core 中插入/更新记录时出错

c# - OUTPUT INSERTED Id/SCOPE_IDENTITY() 在 C# (ASP.NET Core Razor Pages) SQL 查询中返回 null,在 SQL Server Management Studio 中工作正常

c# - 如何获取全系统.NET Core 运行环境的基本路径?

c# - 如何在jquery对话框窗口弹出之前将数据绑定(bind)到图表?

c# - 将接口(interface)转换为其具体实现对象,反之亦然?

asp.net-core - 如何在自宿主环境中在ASP.NET Core中gzip静态内容

c# - 如何获取.Net Core中进程的CPU使用率和虚拟内存?