Различия довольно легко узнать.
ASP.NET Web Method называется ASMX [из-за расширения файла] (проверьте 4GuysFromRolla об этом, у них есть хороший учебник )
Эта технология позволяет вам представлять методы в виде веб-службы, чтобы вы могли подключать их (к WS) из любого места и использовать их (методы). Но ... Вы не можете защитить данные между сервером и клиентом, например, вы можете отправлять большие файлы в чистом режиме и т. Д. ...
[Примечание] вы можете защитить доступ к веб-службе с помощью сертификатов, но это довольно сложно и сложно, обычно в ASMX мы используем имя пользователя / пароль для доступа к методу (еще раз ... в простом тексте). !)
В WCF вы находитесь в другом мире, посвященном веб-службам, и это лучшая технология в .NET (на данный момент) для предоставления служб (, видите ли вы разницу ... Службы ! Не Веб-службы ), WCF не требует IIS для запуска, он может работать как системная служба на сервере, используя консольную среду (например, командную строку) в режиме TCP / IP и т. д., поэтому мы говорим, что WCF - это служба , а не веб-служба. Помните, что ASMX нужен IIS для работы, и он будет работать только на веб-сервере.
С WCF вы можете использовать SSL для шифрования связи (для этого в ASMX вам нужно использовать WSE - Улучшения веб-сервисов), и это довольно легко реализовать, вы можете отправлять большие файлы и безопасно (для этого в ASMX необходимо использовать MTOM - механизм оптимизации передачи сообщений).
Вы можете установить параметры передачи, просто изменив одну строку кода, или даже, если хотите, изменить файл конфигурации XML, безопасность намного выше и т. Д., И т. Д.)
надеюсь, вы получите лучший общий обзор с этим, но есть гораздо больше.
Итог: для предоставления веб-служб, которые вам не нужно защищать, вы можете использовать ASMX, без проблем, но если вам нужно как-то защитить связь, сделайте это в WCF!
ссылка : Вы можете прочитать здесь некоторые сравнительные характеристики производительности между двумя службами