我有一个 MVC Web 项目、基础设施项目、服务项目和数据项目的解决方案。我在 Visual Studio 中从 NuGet 安装了 ninject。它在我的 Web 项目中创建了一个名为“App_Start”的文件夹,并将 Ninject 代码文件放在那里,我的应用程序运行良好。
我的问题是我需要解决作为属性或构造函数的 Web 项目之外的依赖项。
我在我的服务项目中的一个课程中尝试过这个:
var m_customerService = DependencyResolver.Current.GetService(typeof(ICustomerService));
这每次都返回 null 。例如,当我在 HomeController 中尝试完全相同的事情时,它会返回我所期望的。
我怀疑这与项目如何相互引用有关。我的 Web 项目显然引用了所有其他项目。我考虑将 Ninject 启动代码移动到我的基础设施项目中,以便我可以在任何地方访问它。这样做有意义吗?有没有其他人遇到过这个问题,或者我缺少什么?
对此的任何帮助都会很棒。谢谢。