Ninject无法正确绑定程序集中的类

时间:2019-03-14 22:34:17

标签: c# .net ninject

关于以下代码:

kernel.Bind(scan => scan.FromAssemblyContaining<IMediator>()
    .SelectAllClasses()
    .BindDefaultInterface()
    .Configure(o => o.InRequestScope()));

我正在从Web项目中的容器类进行此调用。我希望此绑定将拾取在该项目中任何位置包含IMediator的其他项目,并且该项目中的所有类都将绑定到默认接口。但是,事实并非如此。

我注意到,外部项目中的所有类均未绑定。我想知道这个调用在做什么的最低层次。

  • 正在查看哪些程序集,并且不应该在解决方案中包含每个项目吗?
  • 在其他项目中,我需要使用IMediator多少容量才能在此处使用它?
  • 要使我获得预期的行为所缺少的东西:扫描我的所有项目,看到该代码中使用了IMediator,获取了该项目中的所有类,并根据默认约定将它们绑定。
  • 我完全离开这里并错过了什么吗?有任何澄清吗?

说明:

  • 我正确使用了默认的绑定约定
  • 出于这个问题,我不关心有关处理程序的其他设置。我正在专门尝试理解这个确切的调用,以及为什么我的非处理程序,非请求类没有绑定。

0 个答案:

没有答案