我发现 MVC 无法识别控制器,除非它在类名后面附加了“控制器”,这很荒谬。这个答案提到ControllerDescriptor
andControllerTypeCache
作为 MVC 中设置此约定的两个地方。
我的问题是为什么?这显然不是配置的约定,如IsControllerType
检查ControllerTypeCache
类:
- 是否公开
- 不抽象
- 实现
IController
- 以。。结束
"Controller"
有人知道这是什么原因吗?毕竟所有控制器都可能在一个实际的 MVC 项目中,在一个名为“Controllers”的文件夹中,然后简单地双击该文件将向我们显示该类继承了Controller
.
对我来说似乎很愚蠢-但我想知道他们这样做是否有实际原因。
编辑
刚刚看到Phil Haack 昨天发表的这篇博客文章,他讨论了这个大会的决定——他和我的想法一样——可能有点毫无意义!