我在 asp.net web api 项目中使用 ninject 并开始收到此间歇性 ninject 错误:
" 加载 Ninject 组件 ICache 时出错
没有在内核的组件容器中注册此类组件。 "
我正在使用:
它们都通过 NuGet 带入我的项目中,我在 IocConfig.RegisterIoc 中加载了我的模块,并且没有进行其他更改或调整。
这可能是无关的,但问题开始发生在我开始将 IKernel 注入(inject)我的一个构造函数的大约同一时间。在阅读了有关“特殊解析器”的信息后,我没有为此设置绑定(bind)。
我在这里阅读了许多类似的问题:
Ninject + "Error loading Ninject component ICache"
Ninject and ChildKernel in MVC3 project: "Error loading Ninject component ICache"
Randomly-Occurring Ninject Exception: "Error loading Ninject component ICache"
尽管在每种情况下,OP 都与我有相同的错误,但解决方案并不合适——我没有创建子内核,也没有使用错误版本的 ninject。
最佳答案
找到了解决方案,并认为我会分享。
问题是我正在使用 Ninject.MVC3,这似乎是 Web-API 的错误包。
相反,我需要使用本文所述的 Ninject.Web.WebApi-RC 包:
http://www.eyecatch.no/blog/2012/06/using-ninject-with-webapi-rc/
我遵循的修复步骤是
关于asp.net-web-api - 加载 Ninject 组件 ICache 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757142/