将“传统”控制器与Castle-Windsor控制器混合使用。这可能吗?

时间:2011-08-03 19:49:20

标签: asp.net asp.net-mvc dependency-injection castle-windsor

我正在将一系列控制器集成到现有项目中,该项目已经包含使用Castle Windsor进行DI / IoC的控制器。我已将安装程序修改为仅在某个名称空间(特别是根目录)中注册控制器。这种修改似乎有效。当我尝试访问我的控制器,它不使用Castle Windsor并且位于不同的命名空间(特别是自定义区域)时,我收到错误消息:“找不到支持服务[控制器名称]的组件”。

是否可以将“传统”控制器与使用Castle Windsor的控制器混合在一个项目中?

这有意义吗?

1 个答案:

答案 0 :(得分:1)

如果您收到该错误,则尝试通过容器(直接或间接)解析控制器。

如果你有一个单独的逻辑路径,需要一个没有从容器注册的控制器,没有什么能阻止你调用new MyController()

顺便说一下,根据控制器使用来考虑容器有点倒退。容器管理您的实例 - 您的实例不知道它们是否是容器管​​理的。