В чем разница между веб-методом asp.net и службой wcf?

Я новичок в .Net и не понимаю разницы. Может ли кто-нибудь указать мне в правильном направлении?

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

WCF предназначен для включения приложений .NET Framework для обмена сообщениями с другими объектами программного обеспечения. SOAP используется по умолчанию, но сообщения могут быть в любом формате и передаваться с использованием любого транспортного протокола.

Вы можете просматривать веб-службы ASP.NET как подмножество служб WCF.

Вот ссылка, сравнивающая две структуры.

это легко понять различия.

Веб-метод ASP.NET называется ASMX [из-за расширения файла] (проверьте 4GuysFromRolla об этом, у них есть хороший учебник )

Эта технология заставляет вас открывать функции в качестве веб-службы, поэтому вы можете подключать ее повсюду и использовать ее. Но … вы не можете защитить данные между сервером и клиентом, вы можете отправлять большие файлы и знать, что происходит, и т. Д.

[Примечание] вы можете защитить доступ к веб-службе с помощью сертификатов, но это сложно, но обычно в ASMX мы используем имя пользователя / пароль.

в WCF вы находитесь в другом мире о веб-сервисах, и это лучшая технология в .NET для предоставления услуг ( можете ли вы увидеть разницу … Сервисы ! не веб-службы ), WCF не нуждается в IIS для запуска, это может работать как системная служба на сервере, используя среду консоли (например, командную строку) и т. д., поэтому мы говорим, что WCF – это служба не веб-службы. Помните, что ASMX необходимо запустить IIS.

с WCF вы можете использовать SSL для шифрования связи (для этого в ASMX вам необходимо использовать WSE – Улучшения веб-сервисов), вы можете отправлять большие файлы и надежно (для этого в ASMX вам нужно использовать MTOM – Механизм оптимизации передачи сообщений ).

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

надеюсь, что вы получите более общий общий обзор, но есть намного больше.

нижняя строка: чтобы открыть веб-службы, которые вам не нужно защищать, вы можете использовать ASMX, никаких проблем вообще, но если вам нужно как-то защитить связь, сделайте это в WCF!

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

Это две разные frameworks для написания сервисов. WCF, как правило, более гибкий и предоставляет настраиваемые параметры того, какие протоколы используются, как организована служба и различные параметры безопасности. ASMX предлагает сервисы на основе SOAP. Вообще WCF также более эффективен . В общем ASMX проще в использовании и, как правило, имеет меньше кривой обучения.

Вот обсуждение форума MSDN по этой теме. Вот начальные страницы для ASMX и WCF .

В дополнение к указанным выше ответам WCF был создан для замены .NET Remoting в .NET 3.0 и более поздних версиях. В дополнение к веб-службам SOAP, REST, POX и т. Д. В различных форматах (например, XML и JSON), WCF также предлагает MSMQ и именованные каналы. ASMX, как упоминалось выше, предоставляет только веб-службы XML на основе SOAP.

Вам нужно будет углубиться в .NET Remoting для других типов коммуникационных протоколов. Для получения дополнительной информации вы должны проверить Pro C # 2008 и .NET 3.5 Framework . Это отличный ресурс, и вы можете получить главы из предыдущих книг, посвященных .NET Remoting и другим замененным функциям.

Вот новая, большая разница: Microsoft теперь рассматривает веб-службы ASMX как «устаревшие» технологии. См. « Веб-службы XML, созданные с использованием клиентов веб-служб ASP.NET и XML ».

Веб-службы

  1. Доступ к нему возможен только через HTTP
  2. Он работает в среде без гражданства

WCF

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

  • IIS
  • БЫЛ
  • Self-хостинг
  • Управляемая служба Windows

Это две разные вещи. WCF – это более общая структура, благодаря которой вы можете написать один компонент типа сервиса и развернуть его разными способами (даже в качестве веб-службы Asp.Net).

Вот краткая информация об этом http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/2d6a7ff2-f15c-4599-a389-a81cfffcc852/

У меня такая же проблема.

Я нашел книгу Microsoft Windows Communication Foundation Step by Step очень хорошей.

Если вы просто хотите использовать традиционную веб-службу с помощью WCF, то глава 1 этой книги покажет вам, как это сделать (пишите службу, проверяйте, развертывайте, пользуйтесь сервисом).

Его написано для VS2005, но я использую vs2008 и нашел его еще проще.

В WCF намного больше, но эта книга – хорошее начало.

Основные отличия между веб-сервисом и WCF перечислены ниже.

Веб-сервис : веб-сервис – это приложение, предназначенное для непосредственного взаимодействия с другими приложениями через Интернет.

1) Атрибуты [WebService] и [WebMethod] определяют веб-службу и методы.
2) Доступ к нему возможен только через HTTP.
3) размещен в IIS.
4) Поддержка служб безопасности.
5) Не может быть многопоточным.
6) Используется только soap или XML.
7) Пространство имен System.Xml.serialization используется для сериализации

WCF : Windows Communication Foundation (код под названием Indigo) – это платформа программирования и среда выполнения для создания, настройки и развертывания распределенных по сети услуг.

1) Атрибуты [ServiceContract] и [OperationContract] определяют веб-службу и методы.
2) Доступ через HTTP, TCP, MSMQ, P2P, Именованные каналы
3) Хостинг в IIS, Self-Hosting, WAS и Windows Service.
4) Может быть многопоточным через class поведения службы.
5) Пространство имен System.Runtime.Serialization используется для сериализации
6) Поддерживает различные типы привязок, такие как BasicHttpBinding, WSHttpBinding, WSDualHttpBinding и т. Д.
7) Поддержка служб безопасности, надежных сообщений, транзакций, поддержки AJAX и REST

  • Тестирование веб-сервисов REST
  • Java: функция переопределения для отключения проверки сертификата SSL
  • Базовая аутентификация клиента веб-службы Java
  • Как я могу получить доступ к ServletContext из веб-службы JAX-WS?
  • Отслеживание XML-запроса / ответов с помощью JAX-WS
  • JQuery Ajax Проводка json для webservice
  • Ошибка в клиенте WCF, использующем веб-службу Axis 2 с WS-Security. Имя пользователя: Token PasswordDigest.
  • Установка HttpContext.Current.Session в модульном тесте
  • В модели веб-программирования WCF можно написать рабочий контракт с массивом параметров строки запроса (то есть с тем же именем)?
  • Изменение префикса пространства имен XML по умолчанию, сгенерированного JAXWS
  • Каковы различия между веб-службами WCF и ASMX?
  • Давайте будем гением компьютера.