如何禁用Autofac“懒惰分辨率”?

时间:2012-01-26 17:26:24

标签: autofac

我已在Autofac中注册了这个:

builder.Register(c => ViewerFactory.CreateDefault()).SingleInstance();

我不确定,但我认为Autofac在第一次调用此服务时才调用“ViewerFactory.CreateDefault()”。我是对的吗?

如果我是,我怎么能阻止“懒惰解决方案”的发生,只针对这项服务?这将使UI在第一次需要此服务时更具响应性,尽管代价是启动时间略有增加。

1 个答案:

答案 0 :(得分:2)

你应该可以使用

builder.RegisterInstance(ViewerFactory.CreateDefault());

这将立即创建实例并注册它,而不是在首次使用时创建它。