asp.net core源码飘香:Options组件

简介:

       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)咨询。

相关文章: 

  • asp.net core源码飘香:从Hosting开始

  • asp.net core源码飘香:Configuration组件

原文地址:http://www.cnblogs.com/shiliyuanma/p/6683136.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DevOps面试问题

转载自 DevOps面试问题 DevOps是一组过程、方法与系统的统称&#xff0c;用于促进开发&#xff08;应用程序/软件工程&#xff09;、技术运营和质量保障&#xff08;QA&#xff09;部门之间的沟通、协作与整合。下面为大家分享DevOps系列的面试问题 持续整合问题 问题一&a…

第五章循环结构(一)

一、while循环&#xff1a; 1.语法&#xff1a;while(循环条件){ //循环操作 } 2.循环条件是一个bolean类型的结果。 3.特点&#xff1a;先判断&#xff0c;后执行&#xff01; 二、程序调试&#xff1a; 1.步骤&#xff1a; 设置断点 单步运行 观察变量 三、 1.i2 等价于ii2; …

bui ajax,BUI 数据交互

BUI里面有3种数据交互.数据请求bui.ajax(option)数据请求 bui.ajax API 数据请求的跨域处理,请查看调试章节.参数: option 是一个对象option.urlType: stringDetail: url地址option.dataType: objectDetail: 请求的参数,默认:{}option.methodType: stringDetail: 默认: GET示例…

SparkSQL性能优化

SparkSQL性能优化 1、设置shuffle过程中的并行度,可以通过spark.sql.shuffle.partitions设置shuffle并行度。&#xff08;在SQLContext.setConf&#xff08;&#xff09;中设置&#xff09;。 2、Hive数据仓库创建的时候&#xff0c;合理设置数据类型&#xff0c;比如设置成I…

微软发布ReactXP:方便开发者构建跨平台应用

说起跨平台开发工具&#xff0c;开发者们最先想到的无外乎是 Cordova 和 Xamarin。但是前者无法提供足够令人满意的性能表现&#xff0c;而后者在 Web 开发上心有余而力不足。所以&#xff0c;微软 Skype 团队基于 React JS 和 React Native 开发了一款全新的跨平台开发工具 —…

2020蓝桥杯省赛---java---A---10( 字串排序)

题目描述 思路分析 set去重 代码实现 package lanqiao;import java.util.*; public class Main {public static Set<String> setnew TreeSet<>();public static void main(String[] args) {Scanner scanner new Scanner(System.in);while (scanner.hasNextLine…

jQuery操作DOM元素案例

直接打开注释即可观察效果&#xff0c;都已经测试通过&#xff01;&#xff01;&#xff01; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>操作DOM元素</title><script src"js/jquery-1.8.3.js" ty…

这些面试中的智力题,你都会了吗

转载自 这些面试中的智力题&#xff0c;你都会了吗 1. 给一个瞎子52张扑克牌&#xff0c;并告诉他里面恰好有10张牌是正面朝上的。要求这个瞎子把牌分成两堆&#xff0c;使得每堆牌里正面朝上的牌的张数一样多。瞎子应该怎么做&#xff1f; 2. 如何用一枚硬币等概率地产生一…

服务器登陆显示其他用户,连接远程服务器显示其他用户

连接远程服务器显示其他用户 内容精选换一换云服务器网络异常、防火墙未放行本地远程桌面端口、云服务器CPU负载过高等场景均可能导致云服务器无法正常登录。本节操作介绍无法登录Linux弹性云服务器的排查思路。当您的云服务器无法远程登录时&#xff0c;我们建议您首先检查是否…

第6章循环结构(二)

一、for循环 1.语法&#xff1a; for(初始化变量并赋值;循环条件;循环迭代){ //循环操作 } eg&#xff1a; for(int i 0;i<100;i){ System.out.print(“好好学习&#xff0c;天天向上”); } 2.执行顺序&#xff1a; &#xff08;1&#xff09;先执行初始化变量并赋值 &…

每日top3热点搜索词统计案例

数据格式&#xff1a; 日期&#xff0c;用户&#xff0c;搜索词&#xff0c;平台&#xff0c;版本 需求&#xff1a; 1、筛选出符合条件&#xff08;城市&#xff0c;平台&#xff0c;版本&#xff09;的数据 2、统计每天搜索uv排名前三的搜索词 3、按照每天的top3搜索词的uv搜…

2019蓝桥杯省赛---java---A---4(迷宫)

题目描述 【问题描述】 下图给出了一个迷宫的平面图&#xff0c;其中标记为 1 的为障碍&#xff0c;标记为 0 的为可以通行的地方。 010000 000100 001001 110000 迷宫的入口为左上角&#xff0c;出口为右下角&#xff0c;在迷宫中&#xff0c;只能从一个位置走到这个它的上、…

面试官最爱问的并发问题

转载自 面试官最爱问的并发问题 在Java相关的岗位面试中&#xff0c;很多面试官都喜欢考察面试者对Java并发的了解程度&#xff0c;而以volatile关键字作为一个小的切入点&#xff0c;往往可以一问到底&#xff0c;把Java内存模型&#xff08;JMM&#xff09;&#xff0c;Jav…

西瓜显示服务器错误,西瓜云服务器

西瓜云服务器 内容精选换一换云服务器组是对云服务器的一种逻辑划分&#xff0c;云服务器组中的弹性云服务器遵从同一策略。当前仅支持反亲和性&#xff0c;即同一云服务器组中的弹性云服务器分散地创建在不同的主机上&#xff0c;提高业务的可靠性。您可以使用云服务器组将业务…

第四章使用jQuery操作DOM元素

一、DOM的分类&#xff1a; 1.DOM core 2.HTML-DOM 3.CSS-DOM 二、css操作 语法&#xff1a; $("#div1").css(“color”,“red”); $("#div1").css({“color”:“red”,“margin”:“5px”}); //添加样式 $("#div1").addClass(“div1_style”); …

30分钟掌握 C#6

1. 只读自动属性&#xff08;Read-only auto-properties&#xff09; C# 6之前我们构建只读自动属性&#xff1a; public string FirstName { get; private set; } public string LastName { get; private set; } 原理解析&#xff1a;就是编译器在生成set访问器时&#xff0c…

2019蓝桥杯省赛---java---A---6(完全二叉树的权值)

题目描述 思路分析 等差数列 代码实现 package lanqiao;import java.util.*; public class Main {public static void main(final String[] args) {Scanner sc new Scanner(System.in);int nsc.nextInt();int[]numsnew int[n1];long maxSum0;int minDeepInteger.MAX_VALUE;…

如何让面试官认可你的简历

转载自 如何让面试官认可你的简历 在之前的博客里写了很多面试技巧&#xff0c;这是有个前提&#xff1a; 至少候选人被面试了&#xff01; 在这个前提下&#xff0c;候选人哪怕失败了&#xff0c;至少也能用实战来检验和校对面试准备的结果&#xff0c;用句比较时髦的话来…

Linux中安装nc(netcat)常见问题

Linux中安装nc&#xff08;netcat&#xff09;常见问题 Spark Streaming编写wordCount程序时&#xff0c;在Linux集群中需要安装nc&#xff0c;来对程序中使用到的端口进行开放。在安装nc的时候&#xff0c;常出现的问题有以下几点!1、不建议使用 yum staill nc 进行安装&…

服务器c盘有个inetpub文件夹,老司机为你示范win10系统C盘inetpub文件夹删不掉的图文教程...

也许大家在用电脑工作的使用中会遇到win10系统C盘inetpub文件夹删不掉的情况&#xff0c;目前就有很多朋友向我资讯关于win10系统C盘inetpub文件夹删不掉的具体处理步骤。小编把总结的关于win10系统C盘inetpub文件夹删不掉的方法了教给大家&#xff0c;只用你按照  1、右键点…