[ASP.NET Core 3框架揭秘] Options[5]: 依赖注入
原文: [ASP.NET Core 3框架揭秘] Options[5]: 依赖注入 《 Options模型 》介绍了组成Options模型的4个核心对象以及它们之间的交互关系,读者对如何得到Options对象的实现原理可能不太了解,本篇文章主要介绍依赖注入的相关内容。既然我们能够利用IServiceProvider对象提供的IOptions<TOptions>服务、IOptionsSnapshot<TOptions>服务和IOptionsMonitorCache<TOptions>服务来获取对应的Options对象,那么在这之前必然需要注册相应的服务。回顾《 配置选项的正确使用方式 》演示的几个实例可以发现,Options模式涉及的API其实不是很多,大都集中在相关服务的注册上。Options模型的核心服务实现在IServiceCollection接口的 AddOptions 扩展方法。 一、AddOptions AddOptions扩展方法的完整定义如下所示,由此可知,该方法将Options模型中的几个核心类型作为服务注册到了指定的IServiceCollection对象之中。由于它们都是调用 TryAdd 方法进行服务注册的,所以我们可以在需要Options模式支持的情况下调用AddOptions方法,而不需要担心是否会添加太多重复服务注册的问题。 public static