我们有一个ASP.NET Core 1.1应用程序,它分为3层:
我们有一些BLL的方法和一些需要配置中的值的DAL。我看到两种可能性来传递它们所需的值:
这两种可能性中哪一种更值得推荐?
答案 0 :(得分:6)
使用ASP.NET Core,您实际上应该选择第三种可能性:
IOptions<T>
包装器的强类型设置。以下是一个示例:
设置的POCO:
public class SomeSettings
{
public string SomeStringValue { get; set; }
public int SomeNumericValue { get; set; }
// ...
}
注入设置:
public class SomeClass
{
private readonly SomeSettings settings;
public SomeClass(IOptions<SomeSettings> options)
{
this.settings = options.Value;
}
}
注册设置:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.Configure<SomeSettings>(Configuration.GetSection("SectionNameHere"));
}
使用选项模式recommended way来处理.NET Core中的配置。