【发布时间】:2011-12-14 00:46:41
【问题描述】:
我的项目是使用可移植区域完成的,我使用 ninject 进行 DI,我正在注入一个在其他程序集中的类,所以我在 areaRegistraction 中有这段代码:
DependencyResolver.Current.GetService<IModuleManager>().Add(this.module);
IKernel kernel = DependencyResolver.Current.GetService<IKernel>();
kernel.Bind<IConfigurationRepository>().To<ConfigurationRepository>();
在我的构造函数中,我有这个代码:
public RequestController(IconfigurationRepository configurationRepository)
{
this.configurationRepository= configurationRepository;
}
但由于某种原因 configurationRepository 为空
但如果我说:
public RequestController()
{
this.configurationRepository = ((StandardKernel)DependencyResolver.Current.GetService<IKernel>()).GetAll<IConfigurationRepository>().First();
}
它工作正常。他们之间有什么不同?
任何线索将不胜感激。
【问题讨论】:
-
它到底是怎么不工作的?它会给你两周的通知还是什么?
-
我更新了我的问题。问题是 configurationRepository 为空
标签: c# ninject portable-areas