В чем разница между параметрами Visual Studio: веб-служба ASP.NET и служба WCF - PullRequest
4 голосов
/ 21 апреля 2009

Я вижу, что есть две опции, которые, я знаю, могут использоваться в веб-сервисах ... Очевидно, WCF и веб-сервисы ASP.NET. Какая разница? Я только недавно начал пользоваться WCF и в прошлом немного интересовался веб-сервисами, но я определенно не эксперт.

Ответы [ 3 ]

8 голосов
/ 21 апреля 2009

Различия довольно легко узнать.

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!

ссылка : Вы можете прочитать здесь некоторые сравнительные характеристики производительности между двумя службами

1 голос
/ 21 апреля 2009

Веб-службы ASP.NET были первой попыткой Microsoft создать веб-службы.

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

Пойдите с WCF, если у вас есть выбор.

0 голосов
/ 21 апреля 2009

ASP.NET webservices в порядке, но он ограничен HTTP, размещенным только в IIS, и имеет другие проблемы.

WCF поддерживает гораздо больше транспортных протоколов (HTTP различными способами, TCP, MSMQ и т. Д.), Имеет гораздо более богатую модель безопасности (учетные данные, федеративная безопасность) и предлагает варианты хостинга - самостоятельное размещение в приложении или службе Windows , в IIS или WAS и более.

Вкратце: если вы начинаете сейчас - изучайте WCF всеми средствами!

Марк

...