lambda Options
如何在.NET Core中使用services.Add*
?
我通常使用services.Configure
,
services.Configure<MyOptions>(
Configuration.GetSection("my-option-section-in-appsettings.json"));
或lambda变体,
services.Configure<MyOptions>(options =>
{
options.PropertyName = "some-thing"
}
但是当谈到以下情况时,我迷路了,
services.AddMyService(options => options.UseMethod1(...));
我尝试遍历使用上述代码的代码,但我找不到自己的方法。我能得到的最快的例子是here
答案 0 :(得分:0)
lambda
Options
如何在 .NET Core 中使用services.Add*
?
常见模式是添加满足Action<TOptions>
委托的表达式。 TOptions
是与add函数对应的对象,它使消费者有机会根据需要更新对象,设置值或调用方法。 Action<TOptions>
作为服务生命周期的一部分执行。例如,当使用.AddMvc
扩展方法添加MVC时,框架将在服务可供使用之前调用您的操作。因此,通过此特定示例,将注册所有基础MVC服务,并实例化选项对象并将其提供给您。