Зависит.Служба WCF более гибкая, поскольку вам не нужно полагаться на HTTP, и вместо этого вы можете использовать прямое TCP-соединение, и я считаю, что действительно легко сделать так, чтобы он представлял SOAP.Просто настройка web.config для поведения, конечной точки и т. Д. Немного сложнее, чем должна быть.
С другой стороны, MVC, возможно, быстрее настроить таким образом, потому что вам не нужно иметь дело синогда немного сложно изменить DataContracts (поскольку они требуют повторного развертывания совместно используемой сборки).
WCF = более «солидный» с гораздо большим протоколом, чтобы сделать его «стабильным», то есть:Вы можете заключить жесткий контракт между провайдером и потребителем.
MVC = более гибкий и, возможно, более простой в настройке, но без жесткого контракта - если вы измените формат Json, ваши клиенты могут разорваться без вашего первоначального уведомлениятак что гораздо больше идти в ногу со всем.
В целом, я использую MVC, если у меня нет причин использовать WCF, как описано выше (требование стабильного / гарантированного / обнаруживаемого контракта между клиентом и сервером, требованиеиметь SOAP, или когда неудобно / не нужно настраивать веб-сайт IIS, например, потому что мой сервер работает как Windows Servлед)