使用Ninject的C#,.NET和IoC:如何预热需要很长时间才能创建的类的实例?

Sch*_*999 0 .net c# dependency-injection ninject

我的应用程序中有来自Ninject的IOC.有几个类需要花费大量时间来初始化(从DB或文件中获取一些静态数据缓存).显然,他们需要在处理第一个用户请求之前创建它们.否则会有很高的超时风险.Ninject是否提供了一种方法来告诉内核通过绑定并创建一些?

Jor*_*rdi 6

您可以创建这些实例,并在连接应用程序时为所有家属使用WithConstructorArgument传递它们.我必须承认,这很奇怪,但是会奏效.

var heavy = new HeavyDependency();
Bind<SomeInterface>().To<SomeClass>().WithConstructorArgument("HeavyDependency", heavy );
Run Code Online (Sandbox Code Playgroud)