WCF vs ASP.NET Web API

Каковы преимущества и недостатки использования каждой технологии?

WCF Web Api теперь объединен с Asp.net Asp.net web api теперь поддерживает собственный хостинг.

Я все еще предполагаю, что если я хочу выставить несколько схем протокола для одной и той же операции, я бы все же склонялся к WCF или мог бы сделать конечную точку Mvc тоже?

Также добавляет ли новый Asp.Net web api Wsdl? Если не так, как клиент выяснит, какая операция доступна для них?

Вероятно, лучшей функцией Mvc является модельный блок. Насколько надежным является эквивалент WCF?

Так может ли кто-нибудь сказать мне, какое преимущество делает app.net web api в таблице? WCF представляется в подавляющем большинстве более мощным/масштабируемым выбором, imo. Единственное, что Mvc Web Api имеет над моделью WCF, вероятно, легко развивается, но это означает, что приседание, если оно заканчивается серьезным ограничением дизайна по дороге.

Ответ 1

Во-первых, я предлагаю вам прочитать мой пост по этому вопросу: http://blogs.microsoft.co.il/blogs/idof/archive/2012/03/05/wcf-or-asp-net-web-apis-my-two-cents-on-the-subject.aspx

Что касается вашего вопроса WSDL - поскольку WebApi не использует SOAP, он не требует WSDL и не экспортирует его. Вы можете использовать Hypermedia для возврата ресурсов со списком возможных URL-адресов активности (подумайте об этом как о самоописывающемся ресурсе)

Ответ 2

Выбор зависит от того, что мы хотим сделать.

  • ASP.NET Web API - это основа для создания служб, не связанных с SOAP, только через HTTP, поэтому в этой инфраструктуре нет более доступных транспортных протоколов.
  • WCF/Windows Communication Foundation - это среда для обмена сообщениями на основе SOAP. Здесь мы используем множество транспортных протоколов: HTTP, TCP, именованные каналы, MSMQ и т.д.

Я не уверен, какая из них имеет лучшую производительность в отношении объема данных, может быть, WCF, поскольку мы можем использовать низкие протоколы. Любые комментарии приветствуются.

Ответ 3

Веб-API WCF в основном фокусируется на реализациях REST. Если вы настраиваете реализацию REST, стандартные биты WCF немного больны в тылу. Если вы настраиваете сервисы RESTful, вы найдете API WCF намного более приятным. Если вы настраиваете SOAP-сервисы, веб-API WCF не лучший друг, и вам лучше использовать WCF для ваших услуг.

Ответ 4

Использовать WCF для сайтов интранета /B 2B n Веб-API для B2C/C2C/интернет-сайтов... SOAP/XML по-прежнему является стандартом для общения внутри бизнеса, и он не собирается уходить!!!