Asp.net mvc 4 Ninject和惰性依赖项注入MVC4.5

Asp.net mvc 4 Ninject和惰性依赖项注入MVC4.5,asp.net-mvc-4,dependency-injection,ninject.web.mvc,Asp.net Mvc 4,Dependency Injection,Ninject.web.mvc,我已经开始与Ninject合作开发一个网站,并在一个项目中建立DI 我注意到您在名为ninjectWebCommon的应用程序中注册了绑定依赖项。加载项目时,是否所有依赖项都已注册?例如,如果您注册了50多个依赖项,这会导致资源问题吗?还是每个实例都在页面执行时注册?如果没有,是否有一种方法可以延迟绑定依赖项,或者这是不必要的 即使使用另一个IOC容器,是否有更好的方法来实现这一点?您应该阅读。基本上,注册过程非常简单,您可以告诉容器用于解析抽象的类型。在此过程中不创建任何对象。DI容器在请求到

我已经开始与Ninject合作开发一个网站,并在一个项目中建立DI

我注意到您在名为ninjectWebCommon的应用程序中注册了绑定依赖项。加载项目时,是否所有依赖项都已注册?例如,如果您注册了50多个依赖项,这会导致资源问题吗?还是每个实例都在页面执行时注册?如果没有,是否有一种方法可以延迟绑定依赖项,或者这是不必要的


即使使用另一个IOC容器,是否有更好的方法来实现这一点?

您应该阅读。基本上,注册过程非常简单,您可以告诉容器用于解析抽象的类型。在此过程中不创建任何对象。DI容器在请求到达应用程序时创建实例。根据生命周期的不同,它们可能只创建一次,也可能在每次请求时创建。

您应该了解。基本上,注册过程非常简单,您可以告诉容器用于解析抽象的类型。在此过程中不创建任何对象。DI容器在请求到达应用程序时创建实例。根据生命周期的不同,它们可能只创建一次或每次请求都创建一次。

您也可以对其他容器进行类似的注册,这实际上不应该是一个资源问题。然而Ninject有点慢。如果您可以随意选择,那么使用SimpleInjector这样的DI容器可能会更好


作为比较,我使用了。

您也可以对其他容器进行类似的注册,这真的不应该是资源问题。然而Ninject有点慢。如果您可以随意选择,那么使用SimpleInjector这样的DI容器可能会更好


作为比较,我使用了。

你的意思是初始化而不是注册?如果他们只是注册的话,应该不会有太多开销。我的意思是注册。这是项目第一次启动的时候。e、 私有静态无效注册表ServiceSikernel内核{kernel.Bind.To;}在这种情况下,Ufuk的答案涵盖了您想知道的内容。您的意思是初始化而不是注册吗?如果他们只是注册的话,应该不会有太多开销。我的意思是注册。这是项目第一次启动的时候。e、 private static void RegisterServicesIKernel kernel{kernel.Bind.To;}在这种情况下,Ufuk的答案涵盖了您想要知道的内容。Ta!我要快速看一眼。Ta!我要快速看一眼。