简介:
Options组件是一个小组件,但用的地方很多。它本质是将一个POCO类注册到容器中(主要在Startup中作为其他组件的配置功能提供),后续使用的时候就可以通过比如构造函数注入等获取到POCO对象。如果只是为了注入一个POCO对象,那Options组件太多余了。关键在于:它能将这个POCO类关联到上一遍讲的Configuration组件的配置源,甚至在可以在配置源发生改变时(配置源启用了Reload)自动更新被关联的POCO对象。
(另外:它默认通过Action<T>去配置要注册的POCO对象,后面的配置会覆盖前面的配置)
上源码:
(使用方法去官网了解下即可,我要说的是实现原理)
上面是传入Action<T>来配置并注入POCO对象的过程,下面我们来分析怎样绑定到上一篇所讲的IConfiguration对象。
至此,我们已经了解了直接通过Action<T>配置POCO类和通过IConfiguration对象绑定POCO类来注入一个POCO类的方法了。但还有一点:
当IConfiguration对象Reload的时候,POCO类怎样实时更新属性呢?
上面两个图所圈出来的对象就是为了做实时更新的,想知道它的具体实现手法吗?
篇幅所限,这里就不细说了。有兴趣的欢迎加群(294525042)咨询。