使用 IoC 实例化控制器的正确方法是什么
我正在迁移到 ASP.NET MVC 3。
现在我有一些使用 IoC 解析控制器的方法。
我的控制器需要存储库的构造函数注入参数。
设置 DependencyResolver.SetResolver 有效。但我不知道这是否是正确的方法,或者我也需要在我的容器中注册 IControllerActivator。
I am migrating to ASP.NET MVC 3.
Now I have some ways of resolve controller with IoC.
My controller need a contructor injection parameter for repositories.
Setting DependencyResolver.SetResolver works. But I don´t know if this is correct way or I need to Register a IControllerActivator at my container too.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要的是一个
ControllerFactory
。大多数 IOC 容器都有现有的实现。如果您需要自定义,请查看这篇文章:http://develoq.net/blog/?p= 144
更新
这是正确的方法。 DependencyResolver 对于所有内容都是通用的,您需要在其中注册
IControllerActivator
。http://bradwilson.typepad.com/blog /2010/10/service-location-pt10-controller-activator.html
What you need is a
ControllerFactory
.Most IOC containers have an existing implementation. If you need a custom one, check this article:http://develoq.net/blog/?p=144
Update
It's the correct way. DependencyResolver is generic for everything, and you need to register the
IControllerActivator
in it.http://bradwilson.typepad.com/blog/2010/10/service-location-pt10-controller-activator.html