我正在编写一个具有许多 Ajax 小部件的应用程序(准确地说是 Kendo-UI)。在没有标准控制器的情况下拥有所有这些 Ajax 响应开始变得混乱,所以我开始考虑让每个实体都成为自己的控制器。如果我花时间来做这件事,我想我还不如继续做那些作为 WebAPI 的事情,因为我计划在不久的将来做这件事,但是嘿,它已经完成了......
所以我的问题是:使用 MVC 应用程序自己的 Web API 作为 Ajax Widget 提要是一种好习惯,还是有任何理由坚持使用标准控制器?
我见过一些关于性能的争论,但我认为这不适用于这种情况。我相信这更像是一种“控制器调用 WebAPI”的情况,它对性能有明显的影响。但是因为它已经是一个客户端 Ajax 调用,所以无论它进入标准 MVC 控制器还是 WebAPI 控制器都不应该改变任何事情,不是吗?
编辑
有关该项目的其他信息:
- 我正在使用实体框架进行数据访问。
- 我有一个使用 UnitOfWork 的存储库模式。
- 我正在使用正确的 MVC 结构(EF POCO 自动映射到存储库中的 DTO POCO 并由控制器输入视图模型)
- 这是 .NET 4.0 上的 MVC 4 项目
- 有很多数据库关系(特别是对于我目前正在使用的对象)