我在我的应用程序中使用选项模式,从我的appsettings.json文件中阅读属性,并在整个应用程序中的类中使用它们。
然而,我有一个案例,我需要在我的program.cs文件本身中使用这些属性。下面的代码不起作用,因为我无法在program.cs文件中注入配置的示例。代码显示了我希望发生的事情...有没有更好的方法来做到这一点,并仍然留在期权模式?
builder.Services.Configure<SwaggerConfig>(builder.Configuration.GetSection("Swagger"));
var app = builder.Build();
app.UseSwagger();
app.UseSwaggerUI(s =>
{
s.SwaggerEndpoint( SwaggerConfig.Url ,
SwaggerConfig.Name);
s.RoutePrefix = SwaggerConfig.RoutePrefix;
});
字符串
2条答案
按热度按时间wgxvkvu91#
您可以在代码中访问
IServiceProvider
。您可以通过app.Services.GetRequiredService<IOptions<SwaggerConfig>>().Value
获得所需的配置。问题是,一旦调用
builder.Build()
,DI容器也将被构建。zyfwsgd62#
您可以获取该部分并将其Map到设置类,如下所示:
字符串