0

我有一个 MVC Web 项目、基础设施项目、服务项目和数据项目的解决方案。我在 Visual Studio 中从 NuGet 安装了 ninject。它在我的 Web 项目中创建了一个名为“App_Start”的文件夹,并将 Ninject 代码文件放在那里,我的应用程序运行良好。

我的问题是我需要解决作为属性或构造函数的 Web 项目之外的依赖项。

我在我的服务项目中的一个课程中尝试过这个:

    var m_customerService = DependencyResolver.Current.GetService(typeof(ICustomerService));

这每次都返回 null 。例如,当我在 HomeController 中尝试完全相同的事情时,它会返回我所期望的。

我怀疑这与项目如何相互引用有关。我的 Web 项目显然引用了所有其他项目。我考虑将 Ninject 启动代码移动到我的基础设施项目中,以便我可以在任何地方访问它。这样做有意义吗?有没有其他人遇到过这个问题,或者我缺少什么?

对此的任何帮助都会很棒。谢谢。

4

1 回答 1

0

我已经解决了这个问题。我将 Ninject 移到了另一个项目,该项目涵盖了我的解决方案中的所有项目,并且我的服务类现在似乎可以正常工作。

于 2011-11-23T14:14:02.460 回答