Mr.*_*aus 5 configuration asp.net-core
不支持尝试IConfiguration从实现和构造函数注入中进行访问。IHostingStartup
正常的Startup.cs实现允许IConfiguration注入,从而可以轻松地从内部ConfigureService()和Configure()方法中进行访问。
访问配置的最佳实践方法是什么?
某些构建器方法存在重载(即ConfigureLogging() ConfigureAppConfiguration() ConfigureServices()允许将 WebHostBuilderContext 传递到操作中)。
WebHostBuilderContext提供对 HostingEnvironment 和配置的访问
public class HostingStartupConfiguration : IHostingStartup
{
public void Configure(IWebHostBuilder builder)
{
builder
.ConfigureLogging((context, builder) =>
{
// clear providers set from host application
if (context.HostingEnvironment.IsDevelopment())
{
...
}
})
.ConfigureAppConfiguration((context, builder) =>
{
if (context.HostingEnvironment.IsDevelopment())
Console.WriteLine("we are in dev mode");
...
})
.ConfigureServices((context, services) =>
{
...
// get assemblies based on configuration to load as Application Parts
var assemblies = GetControllerAssemblies(context.Configuration);
// register controllers application parts from external assemblies
foreach (var assembly in assemblies)
{
builder.AddApplicationPart(assembly);
}
...
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
989 次 |
| 最近记录: |