Из того, что я узнал, Microsoft сделала немного путаницу.
Я предполагаю, что вы знаете, что такое WCF, эта большая структура, построенная поверх XML, позволяет пользователю создавать распределенные сервисы с использованием самых разных технологий (от SOAP до REST до MSMQ и т. Д.).
Это сложно использовать (по крайней мере для меня) и требует много загрузочного лотка, чтобы он работал, и, в конце концов, они поняли это и начали предоставлять некоторую стандартную конфигурацию для простых сервисов HTTP (WCF REST для начинающих)? , ASP.NET MVC набирает обороты, и некоторые функции, которые он предоставил (например, сопоставление автоматических аргументов), начали отображаться в WCF.
Теперь, когда ситуация:
Объявление: WCF Web API теперь ASP.NET Web API! ASP.NET Web API выпущен с помощью бета-версии ASP.NET MVC 4. Web API WCF и поддержка WCF для контента JQuery на этом сайте WLL удалены до конца 2012 года
http://wcf.codeplex.com/wikipage?title=Getting%20started:%20Building%20a%20simple%20web%20api
И это лучше, имхо.
Я уверен, что должно быть возможно разместить asp.net mvc4 webapi поверх WCF (если вам когда-нибудь понадобится), но я не могу найти документацию, которая может доказать мне, что я прав (или неправильно).
UPDATE (не может соответствовать как комментарий): Подождите, существует огромное различались «движется подмножество коммуникационных технологий из библиотеки/основы для другого» и «заменить WCF». Я лично считаю, что WCF был разработан для какой-то концепции коммуникации, и он имеет довольно классный дизайн, но распределенные вычисления несколько переходят к новым (и более простым) решениям (посмотрите многофункциональный SOAP и гибкий REST, хотя многие люди все еще используют REST в RPC-манере), и я думаю, что подобные типы программирования лучше вписываются в архитектуру MVC, чем в WCF. Усилия были направлены на разработку простого способа создания/потребления веб-сервисов поверх WCF, но в конце концов выяснили, что это неправильное решение.
Не говоря уже о том, что многие разработчики теперь используют ASP.NET MVC и хотят выполнять веб-сервисы для своего веб-приложения, возиться с WCF часто слишком сложно для таких вещей, и я испытал это на своей собственной шкуре ,
Я думаю, что механизм маршрутизации является удивительным и правильным способом, и если вы посмотрите внимательно, они включили его часть (с разными именами и типами, но шаблон был там) в WCF. Так что да, я думаю, что если MS не отклонит эту часть WCF WE должен это сделать. Чтобы строго ответить, нет, я не думаю, что вы когда-либо найдете WebGet/WebInvoke в asp.net mvc *, он просто не подходит.
Да, сам хост, вероятно, единственный бит WCF в ASP.NET MVC4 прямо сейчас.
Это не MVC WebAPI, это веб-интерфейс ASP.NET и не связанный с ASP.NET MVC вообще никак. См. Это сообщение в блоге: http://blogs.msdn.com/b/henrikn/archive/2012/02/23/using-asp-net-web-api-with-asp-net-web-forms.aspx Вы можете сам-хозяин, если хотите. – tugberk