Запрос направляется действию на вашем контроллере, который использует модель (которую вы определяете; это просто структура, представляющая данные, над которыми будут работать ваше действие и представление).Это действие возвращает ActionResult
, который часто является, но не обязательно, ViewResult
(который, по сути, просто выполняет заданную вами страницу просмотра, используя указанную вами модель, если таковая имеется).Однако вам не нужно возвращать View;Вы можете создать любой вид ActionResult, который вы хотите.Вы можете возвращать XML, JSON, SOAP, двоичное содержимое и т. Д.
MVC по своей природе успокаивающий, но он не строго привязан к REST и может быть адаптирован к тому, что вы считаете нужным.Вы могли бы заставить свой контроллер говорить на SOAP, но мой вопрос: зачем, если эта работа уже выполнена для вас в других технологиях (таких как WCF)?