3

是否可以在新的 ASP.NET Minimal API 中访问 IConfiguration?我不认为有可能做这样的事情。

using Microsoft.AspNetCore.Components;
using MudBlazor.Services;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();
...

builder.Services.AddMyServiceWithConfiguration(XXXX.Configuration);

var app = builder.Build();

....

app.Run();
4

1 回答 1

6

您可以使用builder.Configuration. 在此示例中,连接字符串在实际代码的第二行中检索:

using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);

var connectionString = builder.Configuration.GetConnectionString("TodoDb") 
                       ?? "Data Source=todos.db";


builder.Services.AddSqlite<TodoDb>(connectionString)
                .AddDatabaseDeveloperPageExceptionFilter();

WebApplicationBuilder.Configuration属性是实现and的Microsoft.Extensions.ConfigurationManager实例,因此它可用于加载配置设置或使用扩展方法,如IConfigurationRootIConfigurationGetConnectionString

构建应用程序后,可以通过WebApplication.Configuration属性访问配置。这只是一个调用Services.GetRequiredService<IConfiguration>()

public IConfiguration Configuration => 
    _host.Services.GetRequiredService<IConfiguration>();
于 2021-09-07T15:24:48.403 回答