Ninject 在 MVC 3 中何时何地创建控制器

发布于 2024-11-10 01:54:07 字数 505 浏览 2 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

森林很绿却致人迷途 2024-11-17 01:54:07

如果没有绑定,非抽象类(例如控制器)默认由ninject解析为Bind().ToSelf()

non-abstract classes (such as controllers) are resolved by ninject by default as Bind<TheType>().ToSelf() if there is no binding.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文