2012-04-27 4 views
16

Каковы плюсы и минусы использования службы отдыха и услуги wcf?Отдых против Wcf за и против

Мне интересно, какой тип использовать, и мне было интересно найти какое-то сравнение.

+0

Вы имели в виду отдых против мыла? – MilkyWayJoe

+1

Возможный дубликат [REST и SOAP] (http://stackoverflow.com/questions/209905/rest-and-soap) –

+1

Для тех, кто приземлился на этот вопрос в 2014 году: http: //www.dotnet-tricks. com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-REST-and-Web-Service.html – Abhijeet

ответ

25

Отдых - это способ общения через Интернет. Это очень простой процесс выбора адресов для размещения местоположений методов и возврата стандартных данных HTML (javascript, css, html, конечно).

WCF - это библиотека .net, использующая две программы, разговаривающие друг с другом с использованием SOAP. Которая состоит из двух очень знакомых программных данных торгового класса.

Наблюдение как «Отдых» - это процесс, а WCF - это библиотека классов, лучшим может быть вопрос «Отдых против мыла».

Суть в том, что если вам нужно два приложения для разговора, вы можете использовать WCF. Даже если приложения не написаны в .net. Однако, если вам нужна информация для доступа к веб-технологиям (обычный доступ к javascript выполняется таким образом), вы захотите использовать Rest.

Просто быстрое примечание стороны, хотя WCF тоже хорошо себя чувствует, поэтому вы действительно не ошибетесь.

+2

Мне не нравится первый абзац здесь. Вы можете вернуть любой произвольный ресурс, который может содержать js, html или код css. –

9

Вы задаете вопрос о яблоках и апельсинах. REST - это шаблон, используемый при создании веб-сервисов. Я не эксперт в этом, но вы можете найти множество подробностей на Wikipedia. WCF - это технология Microsoft для создания веб-сервисов (в основном с использованием SOAP, хотя это так настраивается, что вы также можете использовать REST на нем - см. ASP.Net WebAPI).

Pros для WCF:

  1. Очень настраиваемый - Если вы можете себе это представить, WCF, вероятно, может это сделать.
  2. Прост в использовании, если вы придерживаетесь стека Microsoft. Visual Studio делает 90% работы за вас.

Cons для WCF:

  1. Очень настраиваемый - Это может быть немного боли, чтобы получить это сделать именно то, что вы хотите, иногда, особенно если вы новичок в этом.
  2. Могут возникнуть проблемы с обменом различными технологическими пакетами. Я слышал о том, что Java-сервисы скручиваются и умирают, когда указывается на службу WCF. Насколько я слышал, это проблема с библиотеками Java, а не с WCF, но кто знает наверняка.

Это все, что приходит на ум прямо сейчас, но, надеюсь, это даст вам хорошее впечатление на WCF.

+1

Также перед ASP.Net WebAPI вы можете создать службу отдыха WCF с очень немного config ... поиск System.ServiceModel.Activation.WebServiceHostFactory. –

+0

ASP.NET Web API больше не использует WCF. –

4

Если вы абсолютно уверены, что HTTP - это протокол, который вы хотите использовать, и вы хотите принять его как протокол «Приложение», а не только протокол «Транспорт», то что-то вроде ASP.NET Web API.

Если вы создаете службу для своих серверов в вашем центре обработки данных, чтобы поговорить друг с другом, серьезно подумайте о WCF.

Независимо от того, делать ли REST это совершенно другой вопрос. Будет ли эта услуга длиться много лет? Будет ли у него много разных клиентов? Будут ли некоторые из этих клиентов выходить из-под контроля? Если вы ответили «да», возможно, стоит изучить, какие выгоды могут принести ограничения REST.

Смежные вопросы