NopCommerce的autofac的理解
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集合