WebAPI的依赖注入

时间:2016-12-21 16:11:12

标签: c# asp.net-web-api dependency-injection ninject

情境:

我用2个项目创建了一个解决方案。一个是Web API项目,另一个是存储库的类库。

我将ninject作为DI添加到WebAPI项目中。这个blog很好地定义为使用ninject和WebAPI。

我可以在NinjectWebCommon.cs文件中的RegisterServices方法中配置存储库类。这可以在Web api项目的app_start文件夹中找到。

澄清:

我很困惑,现在我再次将web项目的引用添加到web api项目以注册依赖项类。然后它是如何与存储库项目分开的。

问题:

这是正确的方式还是我错过了什么?

我可能误解了这个概念吗?可能是反映检查运行时类查找可以避免依赖

请告知并提供任何正确的博客或样本来解释此

1 个答案:

答案 0 :(得分:0)

你错过了第三个项目,它是你的WebAPI和Repository库之间的桥梁。通常它包含插件DLL对象将实现的接口以及WebAPI将使用的接口。所有的WebAPI代码都应该使用接口,因为DI的工作是根据配置为您提供正确的类。

这是允许你换掉DLL,为新选项添加​​DLL等的东西.WebAPI项目不应该引用插件,因为你依赖于你想要动态的东西。