Я работаю над новым проектом. Есть ли какое-либо преимущество с движением с веб-сервисом WCF по регулярному старомодному веб-сервису?
Visual Studio предлагает шаблоны для обоих. Каковы различия? За и против?
Что такое "регулярный старомодный веб-сервис?" Сервис ASMX, или Вы используете WSE также? Сервисы ASMX не естественно совместимы, не поддерживайте WS -* спецификации, и ASMX является технологией, которая стареет очень быстро. WSE (Улучшения веб-сервиса) сервисы ДЕЙСТВИТЕЛЬНО добавляют поддержку WS -* и могут быть заставлены быть совместимыми, но WCF предназначен для замены WSE, таким образом, необходимо не торопиться для изучения этого. Я сказал бы, что, если Ваше приложение не является быстрым грязное одноразовое, Вы получите огромную гибкость и закончите с лучшим дизайном при выборе WCF. WCF делает , имеют кривую обучения вне [WebMethod] атрибут, но кривая обучения сверхпреувеличена, по-моему, и это экспоненциально более мощно и соответствует требованиям завтрашнего дня, чем сервисы ASMX прежней версии.
, Если Ваша временная шкала просто не может терпеть кривую обучения, Вы сделали бы себя огромная польза, изучив WCF вместо того, чтобы просто придерживаться веб-сервисов ASP.NET. Приложения только продолжат становиться более распределенными и взаимосвязанными, и WCF является будущим распределенных вычислений на платформе Microsoft.
Вот сравнение между двумя.
Профессионалы выполнения всех собой:
Профессионалы WCF:
недостаток WCF: некоторые статические имена свойства могут быть довольно длинны ...
Для суммирования: WCF позволяет Вам сфокусироваться на программировании, но необходимо изучить это сначала ;-)
Pro для WCF: Вам не нужен веб-сервер (т.е. IIS). Вам на самом деле не нужен сервер ОС.
Модульные тесты на Вашей сервисной реализации и взаимодействии легче сделать!
Мне нравится факт, пишущий, что сервисы WCF помогают разделить Ваш сервис от реализации. Можно записать сервис и затем разместить его в IIS, консольном приложении или службе Windows; можно также говорить с ним через HTTP, сетевой TCP, и т.д.