Я работаю над новым проектом. Есть ли какая-либо польза от посещения веб-сервиса WCF через обычную веб-службу старой моды?Веб-службы - WCF против ASMX («Стандарт»)
Visual Studio предлагает шаблоны для обоих. Каковы различия? За и против?
Я работаю над новым проектом. Есть ли какая-либо польза от посещения веб-сервиса WCF через обычную веб-службу старой моды?Веб-службы - WCF против ASMX («Стандарт»)
Visual Studio предлагает шаблоны для обоих. Каковы различия? За и против?
Что такое «обычная старомодная веб-служба?» Служба ASMX, или вы используете WSE? Службы ASMX несовместимы между собой, не поддерживают спецификации WS- *, и ASMX - это технология, которая стареет очень быстро. Службы WSE (улучшения веб-сервисов) ДОБАВЛЯЮТ поддержку WS- * и могут быть сделаны совместимыми, но WCF предназначен для замены WSE, поэтому вы должны потратить время, чтобы изучить его. Я бы сказал, что, если ваше приложение не станет быстрым одноразовым, вы получите огромную гибкость и получите лучший дизайн, если вы выберете WCF. WCF имеет, имеет кривую обучения за пределами атрибута [WebMethod], но, по моему мнению, кривая обучения чрезмерно преувеличена, и это экспоненциально более мощное и будущее доказательство, чем устаревшие службы ASMX.
Если ваша линия времени просто не может терпеть кривую обучения, вы будете делать большую пользу, изучая WCF, а не просто придерживайтесь веб-служб ASP.NET. Приложения будут продолжать расширяться и расширяться, а WCF - это будущее распределенных вычислений на платформе Microsoft.
Here is a comparison между двумя.
Плюсы делать все сами это:
Доводы ФОС являются:
Недостаток WCF: некоторые статические имена свойств can be pretty lengthy ...
Резюмируя: WCF позволяет сосредоточиться на программировании, но вы должны изучить его первым ;-)
Мне нравится факт записи служб WCF позволяет легко отделить ваш сервис от реализации. Вы можете написать свою службу, а затем разместить ее в IIS, консольном приложении или службе Windows; вы также можете поговорить с ним через HTTP, net TCP и т. д.
Pro for WCF: вам не нужен веб-сервер (т. Е. IIS). На самом деле вам не нужна ОС сервера.
Модульные тесты на использование и взаимодействие с вашими услугами проще!
По моему опыту
WCF
Это абсурдно многословным, чтобы работать с ним, это не совсем совместимы с другими продуктами Microsoft, и, конечно, это не является широко принятой за пределами ВЗ Microsoft Мир.
Но моя основная проблема заключается в том, что она нестабильна, ее тренды терпят неудачу (в какой-то ситуации), и для этого требуется настроить ее, прежде чем ее можно будет использовать.
Вместо
SOAP (так называемый стандарт Webservice), это работает, легко работать, и он широко совместим (Java-JAX принимает его без каких-либо изменений).
Чтобы добавить аутентификацию в SOAP, это может быть немного сложнее, но не невозможно.
Если ваш проект использует фреймворк 4.0, почему бы не попробовать WebApi, который легко понять и использует соглашение по конфигурации.
Его отличный способ построения приложения с супер быстрыми интерфейсами
Have посмотреть на Getting Started видео с MS, он эволюционировал из служб данных WCF.
http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api
WCF имеет невероятно большой кривой обучения, не ошибитесь. Да, вы можете получить сервис, который работает не слишком-адски с помощью копирования и вставки и заполнения пробелов, но большинству разработчиков потребуется несколько месяцев, прежде чем они поймут, что делает вся эта настройка и настройка. – Sander 2010-04-09 09:04:28
Большинство разработчиков не _need_, чтобы понять всю конфигурацию, и, кроме того, это радикально изменилось с .NET 4.0. – 2012-06-20 17:32:31