需要在配置文件中配置服务时,也可以使用前面所示的选项。然而,有一种更直接的方法:可以使用.NET配置特性和对选项的扩展。使用NuGet包Microsoft.Extensions.Options.ConfigurationExtensions中的配置可以扩展选项。
样例DIWithConfiguration使用如下NuGet包和名称空间:
包
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Json
Microsoft.ExtensionsDependencyInjection
Microsoft.Extensions.Options
Microsoft.Extensions.Options.ConfigurationExtensions
名称空间
System
Microsoft.Extensions.Configuration
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Options
示例代码基于前一节的示例,但是现在可以使用配置扩展选项。不需要更改GreetingService类,它仍然使用IOptions接口进行初始化。更改的是AddGreetingService扩展方法,这就更容易使用该服务。该方法的第二个参数是IConfiguration类型,以接收配置值。config参数用于将其传递给Configure扩展方法。Configure扩展方法与前面使用的方法不同:这个方法在NuGet包Microsoft.Extensions.Optoins.ConfigurationExtensions中定义:
static class GreetingServiceExten