我已经开始使用 Ninject 开发网站并在项目中设置 DI。
我注意到您在名为 ninjectWebCommon 的 app_start 中注册了绑定(bind)依赖项。当项目加载时,所有依赖项是否都已注册?例如,如果您注册了超过 50 个依赖项,这会导致资源问题吗?或者每个实例是否在页面执行时注册?如果没有,是否有办法延迟绑定(bind)依赖项,或者这是不必要的?
即使使用另一个 IOC 容器,是否有更好的方法来完成此任务?
最佳答案
您应该阅读 Register Resolve Release pattern 。基本上注册过程非常简单,您告诉容器使用哪些类型来解析抽象。在此过程中不会创建任何对象。当请求到达您的应用程序时,DI 容器会创建实例。它们可能仅创建一次或在每次请求时创建,具体取决于生命周期。
关于asp.net-mvc-4 - Ninject 和惰性依赖注入(inject) mvc 4.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991026/