Веб-сервисы — WCF по сравнению с ASMX (“стандарт”)

Я работаю над новым проектом. Есть ли какое-либо преимущество с движением с веб-сервисом WCF по регулярному старомодному веб-сервису?

Visual Studio предлагает шаблоны для обоих. Каковы различия? За и против?

34
задан John Saunders 13 October 2013 в 20:57
поделиться

5 ответов

Что такое "регулярный старомодный веб-сервис?" Сервис ASMX, или Вы используете WSE также? Сервисы ASMX не естественно совместимы, не поддерживайте WS -* спецификации, и ASMX является технологией, которая стареет очень быстро. WSE (Улучшения веб-сервиса) сервисы ДЕЙСТВИТЕЛЬНО добавляют поддержку WS -* и могут быть заставлены быть совместимыми, но WCF предназначен для замены WSE, таким образом, необходимо не торопиться для изучения этого. Я сказал бы, что, если Ваше приложение не является быстрым грязное одноразовое, Вы получите огромную гибкость и закончите с лучшим дизайном при выборе WCF. WCF делает , имеют кривую обучения вне [WebMethod] атрибут, но кривая обучения сверхпреувеличена, по-моему, и это экспоненциально более мощно и соответствует требованиям завтрашнего дня, чем сервисы ASMX прежней версии.

, Если Ваша временная шкала просто не может терпеть кривую обучения, Вы сделали бы себя огромная польза, изучив WCF вместо того, чтобы просто придерживаться веб-сервисов ASP.NET. Приложения только продолжат становиться более распределенными и взаимосвязанными, и WCF является будущим распределенных вычислений на платформе Microsoft.

Вот сравнение между двумя.

33
ответ дан 27 November 2019 в 17:03
поделиться

Профессионалы выполнения всех собой:

  • Никакая кривая обучения
  • Очень гибкий

Профессионалы WCF:

  • Затраты меньше времени в долгосрочной перспективе
  • Протоколы коммутаторов без программирования

недостаток WCF: некоторые статические имена свойства могут быть довольно длинны ...

Для суммирования: WCF позволяет Вам сфокусироваться на программировании, но необходимо изучить это сначала ;-)

9
ответ дан 27 November 2019 в 17:03
поделиться

Pro для WCF: Вам не нужен веб-сервер (т.е. IIS). Вам на самом деле не нужен сервер ОС.

3
ответ дан 27 November 2019 в 17:03
поделиться

Модульные тесты на Вашей сервисной реализации и взаимодействии легче сделать!

1
ответ дан 27 November 2019 в 17:03
поделиться

Мне нравится факт, пишущий, что сервисы WCF помогают разделить Ваш сервис от реализации. Можно записать сервис и затем разместить его в IIS, консольном приложении или службе Windows; можно также говорить с ним через HTTP, сетевой TCP, и т.д.

2
ответ дан 27 November 2019 в 17:03
поделиться