在我的 asp.net-mvc 应用程序中,我有一个调用静态 CreateContainer() 方法的 statis MvcApplication。
在这种方法中,我创建了我的统一 ioc 容器:
private static IUnityContainer CreateContainer()
{
var container = new UnityContainer();
container.RegisterType<IConfigurationService, ConfigFile>();
container.RegisterType<ILoggerService, NlogLoggerService>();
container.RegisterInstance<ISearchService>(
new LuceneSearchService(
container.Resolve<IConfigurationService>(),
container.Resolve<ILoggerService>()),
new ContainerControlledLifetimeManager());
}
如果我很好地理解了我的来源,这应该给我一个单例 LuceneSearchService 实例。然而,在我的日志记录中,我可以看到每次请求此实例时我的构造函数都会被命中。
我究竟做错了什么?