nop项目4.1是core.2.1开发的,Startup.cs文件开始

从入口进去ServiceCollectionExtensions这个文件

this IServiceCollection services就是当前的类ServiceCollectionExtensions的本身

配置参数是在appsettings.json,参考博客https://www.cnblogs.com/Leo_wl/p/5709762.html

然后就到了NopEngine的ConfigureServices的方法

var typeFinder = new WebAppTypeFinder();找到其他程序集提供的启动配置,我们按F12会发现public class WebAppTypeFinder : AppDomainTypeFinder

然后找到了他的初始接口ITypeFinder

然后通过typeFinder去找

services是ASP.NET Core中的DI容器体现为一个实现了IServiceProvider接口的对象。

总结下顺序:先实例化nopConfig配置数据,然后service,最后是typeFinder,

我现在是在看他的依赖注册(IOC)

看注释很好理解吧,先new ContainerBuilder(),然后注册当前的框架this代表NopEngine

然后就是注册typeFinder,重点是通过这个typeFinder知道相应的程序集,然后找到ContainerBuilder绑定的数据,运行下程序就知道。

然后这个数据的基本注册就完成了

最后推荐大内老a的博客https://www.cnblogs.com/artech/p/inside-asp-net-core-1.html,这个是地址。

这个就大概知道服务和DI集合

最新文章

  1. vpn打通结果ping不通
  2. 排序(sort qsort)
  3. asp.net使用MVC4框架基于NPOI做导出数据到Excel表
  4. STL总结之list
  5. Spring : 征服数据库 (两)
  6. git linux 多工程部署及git默认端口更改
  7. VR市场爆炸-VR全景智慧城市
  8. 51nod_1100:斜率最大
  9. javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
  10. Redis安装完整步骤
  11. autoMapper dotnetcore webapi 自动添加映射 abp
  12. Haskell语言学习笔记(78)fix
  13. 矩阵乘法&&矩阵快速幂&&最基本的矩阵模型——斐波那契数列
  14. HTML5学习笔记简明版(8):新增的全局属性
  15. Linux下wget下载整个FTP目录(含子目录)--转载
  16. ImageNet 历届冠军最新评析:哪个深度学习模型最适合你?
  17. C++之条形码,windows下zint库的编译及应用(二)
  18. ionic真机调试Android报错 - could not read ok from ADB Server * failed to start daemon * error: cannot connect to daemon
  19. C# 服务端控件 asp:RadioButton 选择选中值
  20. win7+jdk1.6+solr4.7.2在内嵌jetty servelt或外置tocmat服务器的solr服务使用

热门文章

  1. 黑马vue---28、vue中全局过滤器的基本使用
  2. python flask url参数
  3. mongodb download
  4. firewalld介绍
  5. 关于Jmeter测试移动端应用时提示非法登录,不是合法的登录设备时的解决办法
  6. python中关于with以及contextlib的使用
  7. JAVA 基础编程练习题38 【程序 38 求字符串长度】
  8. 使用xhprof进行线上PHP性能追踪及分析
  9. iOS开发之—— 加密使用(MD5,base64,DES,AES)
  10. “但行好事 莫问前程 只问耕耘 不问收获 成功不必在我 而功力必不唐捐” 科技袁人·年终盛典——5G是科技时代非常重要的基础设施