假设我有几个实现接口的类:IFileDownloader。
如果我单独注册一个组件,一切都很好:
kernel.Register(Component.For<IFileDownloader>().ImplementedBy<HttpFileDownloader>());
但是,如果我尝试注册实现该接口的所有组件,它似乎没有注册它们:
kernel.Register(AllTypes.FromThisAssembly().BasedOn<IFileDownloader>());
我必须遗漏一些明显的东西。
非常感谢, -Alex
答案 0 :(得分:4)
可能有两个原因导致您的注册无法按预期工作
您没有指定要使用IFileDownloader
服务注册它们。我想你所追求的是:
kernel.Register(AllTypes.FromThisAssembly()
.BasedOn<IFileDownloader>()
.WithService.Base());