Ответов (7)7
Что такое «обычная старомодная веб-служба»? Служба ASMX или вы тоже используете WSE? Сервисы ASMX по своей природе несовместимы, не поддерживают спецификации WS- *, а ASMX - это технология, которая очень быстро устаревает. Службы WSE (улучшения веб-служб) ДОЛЖНЫ добавить поддержку WS- * и могут быть сделаны для обеспечения взаимодействия, но WCF предназначен для замены WSE, поэтому вам следует потратить время на его изучение. Я бы сказал, что если ваше приложение не является быстрым и грязным, вы получите огромную гибкость и в конечном итоге получите лучший дизайн, если выберете WCF. У WCF действительно есть кривая обучения, выходящая за рамки атрибута [WebMethod], но кривая обучения, на мой взгляд, чрезмерно преувеличена, и она является экспоненциально более мощной и перспективной, чем унаследованные службы ASMX.
Если ваша временная шкала просто не может терпеть кривую обучения, вы окажете себе огромную услугу, изучая WCF, вместо того, чтобы просто придерживаться веб-служб ASP.NET. Приложения будут становиться все более и более распределенными и взаимосвязанными, а WCF - это будущее распределенных вычислений на платформе Microsoft.
Вот сравнение между ними.
Плюсы самостоятельной работы:
- Нет кривой обучения
- Очень гибкий
Плюсы WCF:
- В долгосрочной перспективе стоит меньше времени
- Переключайте протоколы без программирования
Недостаток WCF: имена некоторых статических свойств могут быть довольно длинными ...
Подводя итог: WCF позволяет вам сосредоточиться на программировании, но вам нужно сначала изучить его ;-)
По моему опыту
WCF
Работать с ним абсурдно многословно, он не совсем совместим с другими продуктами Microsoft и, конечно же, не получил широкого распространения за пределами мира Microsoft.
Но моя основная проблема в том, что он нестабилен, имеет тенденцию к сбою (в некоторых ситуациях) и требует настройки, прежде чем его можно будет использовать.
Вместо
SOAP (также известный как стандартный веб-сервис), он работает, с ним легко работать и он широко совместим (Java-JAX принимает его без каких-либо изменений).
Добавление аутентификации в SOAP может быть немного сложным, но не невозможным.
Если ваш проект использует фреймворк 4.0, почему бы вам не попробовать WebApi, который легко понять и использует соглашение, а не конфигурацию.
Это отличный способ создания приложений со сверхбыстрыми интерфейсами.
Посмотрите видеоролики о начале работы от MS, они произошли от служб данных WCF.
http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api