相关疑难解决方法(0)

在没有IOptions <T>的情况下从appsettings.json读取和使用设置?

.NET Core 允许从配置文件中懒惰地读取设置,将其反序列化为POCO并使用一行代码在内置DI容器中注册该POCO:

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<MyOptions>(Configuration.GetSection("MySection"));
}
Run Code Online (Sandbox Code Playgroud)

然后任何消费者都可以解析IOptions<MyOptions>访问该POCO:

public HomeController(IOptions<MyOptions> optionsAccessor)
{
    MyOptions options = optionsAccessor.Value;
}
Run Code Online (Sandbox Code Playgroud)

这种方法有明显的缺点:

  • Microsoft.Extensions.Options包中不必要的依赖:

  • 模拟,测试和显式实例创建变得更加冗长.

没有解决方案的最简单的解决方案是什么IOptions<T>?

c# dependency-injection .net-core asp.net-core

3
推荐指数
1
解决办法
1995
查看次数