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