.net - сервисами - Веб-службы-WCF и ASMX(«Стандарт»)




web service c# visual studio 2017 (5)

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

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

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


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


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


Плюсы сделать все сами:

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

Плюсами WCF являются:

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

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

Подводя итог: WCF позволяет сосредоточиться на программировании, но вам нужно сначала изучить его ;-)


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

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

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





asmx