摘要:
上文我们已经通过该行代码:var typeFinder = containerManager.Resolve(); 从注入容器中获取到了typeFinder实例。通过该实例进行以下操作。var drTypes = typeFinder.FindClassesOfType(); 从bin所有程序集中获取实现了IDependencyRegistrar接口的所有实现类。循环这些实现类病调用void Register(ContainerBuilder builder, ITypeFinder typeFinder);方法来做其他事情。通过反射能够获取到8个实现了该接口的实例,下面我们一个个分析,实现了 阅读全文
摘要:
从Global.asax文件开始逐层分析Nop的架构。Application_Start()方法作为mvc启动的第一个方法。1,首先初始化一个引擎上下文,如下面的代码: EngineContext.Initialize(false); 引擎实现了IEngine接口,该接口定义如下: public interface IEngine { ContainerManager ContainerManager { get; } void Initialize(NopConfig config); T Resolve() where T : class; object Resolve(Type type 阅读全文