我有一个控制器,它接受一个ICustomerService实例。我的一个实现的构造函数(好的,唯一的实现atm)获取了一个ICustomerExporter实例数组。
我正在使用以下代码注册所有ICustomerExporter实现:
_container.Register(AllTypes
.FromAssembly(typeof(ICustomerExporter).Assembly)
.BasedOn<ICustomerExporter>().LifestyleSingleton());
我的DefaultCustomerService实现如下:
public DefaultCustomerService(ISession session, ICustomerExporter[] exporters)
{
this._session = session;
this._exporters = exporters;
}
但是,当我尝试运行该应用时,出现以下错误:
PM.Services.Implementation.DefaultCustomerService' is waiting for the following
dependencies: - Service 'PM.Services.ICustomerExporter[]' which was not registered.
很明显,它已经注册,我甚至可以在调试器中停止并在容器的组件列表中验证ExcelCustomerExporter实现在那里。那么为什么我收到此错误消息?
答案 0 :(得分:1)
看起来您正在注册ICustomerExporter,但我不知道Windsor会假设ICustomerExporter的实现始终满足您的ICustomerExporter []依赖关系。您是否尝试过注册ICustomerExporter []依赖项?
答案 1 :(得分:0)