Я пишу приложение, которое имеет много виджетов Ajax (точнее, Kendo-UI). Все эти Ajax-ответы без стандартных контроллеров становятся запутанными, поэтому я начал думать о том, чтобы сделать каждый объект отдельным контроллером. Если у меня есть время, чтобы сделать это, я подумал, что мог бы пойти дальше и сделать это как WebAPI, поскольку я планировал сделать это в не столь близком будущем, но, эй, это уже будет сделано...
Итак, мой вопрос: является ли хорошей практикой использование собственного веб-API приложения MVC в качестве каналов виджета Ajax или есть ли какая-либо причина придерживаться стандартных контроллеров?
Я видел некоторые аргументы по поводу производительности, но я не думаю, что это применимо к этой ситуации. Я считаю, что это была скорее ситуация «Контроллер, вызывающий WebAPI», которая имеет очевидные потери производительности. Но поскольку это уже Ajax-вызов на стороне клиента, независимо от того, входит ли он в стандартный контроллер MVC или контроллер WebAPI, ничего не изменится, не так ли?
Редактировать
Дополнительная информация по проекту:
- Я использую Entity Framework для доступа к данным.
- У меня есть шаблон репозитория с UnitOfWork.
- Я использую правильную структуру MVC (EF POCO автоматически сопоставляются с DTO POCO в репозитории и загружаются в модели просмотра контроллерами)
- Это проект MVC 4 на .NET 4.0.
- Существует много отношений с базой данных (особенно для объекта, с которым я работаю в данный момент)