06 2023 档案
摘要:接着上面一节,这一节主要来看看 callSite 是如何生成的 `CallSite` 是通过 `CallSiteFactory.GetCallSite(Type serviceType, CallSiteChain callSiteChain)`生成的,`CallSiteFactory` 是在 `S
阅读全文
摘要:使用IOC容器最重要的两个步骤就是注入服务和从容器内获取服务实例。上一节聊的ServiceDescriptor其实就可以看成注入服务的步骤,这一节初步聊一聊获取服务实例的相关源码。 1. GetService GetService 方法是获取服务实例的入口,位于 ServiceProvider 这个
阅读全文
摘要:IOC 容器内保存的程序运行过程中使用的服务实例。那么如果有些服务实例需要在运行时动态生成,比如,数据库连接,不可能在程序运行过程中所有线程共用一条数据库连接。所以 IOC 容器内保存的不是具体的服务实例,而是服务的相关信息,使用这个信息可以在程序运行时动态的生成服务实例,这些信息就保存在 Serv
阅读全文