Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

Плюсы выполнения всего самостоятельно:

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

Плюсы WCF:

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

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

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

Плюсы для WCF:Вам не нужен веб-сервер (т.ИИС).На самом деле вам не нужна серверная ОС.

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

Модульные тесты по внедрению и взаимодействию ваших сервисов проводить проще!

Если в вашем проекте используется платформа 4.0, почему бы вам не попробовать WebApi, который прост для понимания и использует соглашение по настройке.

Это отличный способ создания приложений со сверхбыстрыми интерфейсами.

Посмотрите видеоролики о начале работы от MS. Они произошли от служб данных WCF.

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api

По моему опыту

WCF

Работать с ним абсурдно многословно, он не совсем совместим с другими продуктами Microsoft и, конечно же, не получил широкого распространения за пределами мира Microsoft.

Но моя главная проблема в том, что он нестабилен, имеет тенденцию выходить из строя (в какой-то ситуации), и его необходимо настроить, прежде чем его можно будет использовать.

Вместо

SOAP (он же стандартный веб-сервис), он работает, с ним легко работать и он широко совместим (Java-JAX принимает его без каких-либо изменений).

Добавление аутентификации в SOAP может быть немного сложным, но не невозможным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top