ASP.NET 最小 API - 访问 IConfiguration
Posted
技术标签:
【中文标题】ASP.NET 最小 API - 访问 IConfiguration【英文标题】:ASP.NET Minimal API - Access IConfiguration 【发布时间】:2021-09-07 15:16:34 【问题描述】:是否可以在新的 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();
【问题讨论】:
【参考方案1】:您可以使用builder.Configuration
。在这个example中,在实际代码的第二行中检索到连接字符串:
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 属性是实现IConfigurationRoot
和IConfiguration
的Microsoft.Extensions.ConfigurationManager 实例,因此可用于加载配置设置或使用GetConnectionString
等扩展方法
一旦构建了应用程序,就可以通过WebApplication.Configuration 属性访问配置。这只是给Services.GetRequiredService<IConfiguration>()
的一个电话:
public IConfiguration Configuration =>
_host.Services.GetRequiredService<IConfiguration>();
【讨论】:
以上是关于ASP.NET 最小 API - 访问 IConfiguration的主要内容,如果未能解决你的问题,请参考以下文章
如何使用具有最小 API .Net 6 的 Asp.net core Identity 运行迁移(第一次迁移)
创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性