Ninject 在 MVC 3 中何时何地创建控制器
我正在使用 NuGet 将 Ninject 和 Ninject.Web.Mvc 引用添加到我的项目中。 但我没有为控制器(带有参数构造函数)绑定添加注册代码。但看起来控制器创建正确,我想知道 Ninject 如何使用依赖参数创建控制器而不将控制器注册到 ninject。 在Ninject.Web.Mvc中,我在作者(ninject)的博客中发现了以下句子,
即使不添加绑定,控制器本身也会被Ninject找到。当然,如果您需要为绑定指定更多信息(例如附加构造函数参数),您仍然可以为控制器添加绑定。 我发现了类似的问题, Ninject 如何在 ASP.NET MVC 中创建控制器? 答案说: Ninject 找到这种类型的构造函数,注入参数,返回控制器实例
我的问题是:如果我们不注册控制器,NinjectResolver 如何解析控制器?
I am using the NuGet add the Ninject and Ninject.Web.Mvc reference to my project.
but i don't add register code for the controller(with a parameter constructor) binding. but it seems the controller was created correctly, i wonder how Ninject create the controller with dependency parameter withou register the controller to the ninject.
in the Ninject.Web.Mvc, and i found the following sentense in the author (ninject) 's blog,
The controller itself will be found by Ninject even without adding a binding. Of course, you can still add a binding for the controller in case you need to specify more information for the binding (e.g. an additional constructor argument).
i found a similar questions,
How does Ninject create controller in ASP.NET MVC?
the answer saids:
Ninject finds constructor for this type, injects parameters, returns controller instance
my question is : if we don't register the controller how did the NinjectResolver resolve the controller?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果没有绑定,非
抽象
类(例如控制器)默认由ninject解析为Bind().ToSelf()
。non-
abstract
classes (such as controllers) are resolved by ninject by default asBind<TheType>().ToSelf()
if there is no binding.