Пример использования служб ASMX и WCF

Обновлен: Ноябрь 2007

Этот пример состоит из двух частей. Первая часть, решение PredictorASMX, демонстрирует вызов службы ASMX (ранее известной как веб-служба ASP.NET) из клиентского приложения. Вторая часть, решение Predictor, демонстрирует вызов службы WCF (Windows Communication Foundation) из клиентского приложения.

Получение примеров и инструкций по их установке

  • Выполните одно или несколько из следующих действий:

    • В меню Справка выберите пункт Примеры.

      Отобразится информация о примерах, содержащаяся в файле сведений о продукте.

    • Посетите веб-узел примеров Visual Studio 2008 Здесь содержатся самые последние версии примеров.

    • Найдите примеры на компьютере, где установлена среда Visual Studio. По умолчанию примеры и файл сведений о продукте устанавливаются в папку диск:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid. Для выпусков Express продукта Visual Studio все примеры располагаются в Интернете.

Дополнительные сведения см. в разделе Поиск файлов примеров.

Bb384510.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот пример кода иллюстрирует концепцию и содержит только код, относящийся к этой концепции. Он может не отвечать требованиям безопасности для конкретных условий, и его не следует использовать в точности в том виде, в каком он приведен. Чтобы проект был безопасным и надежным, рекомендуется добавить код обеспечения безопасности и код обработки ошибок. Корпорация Майкрософт предоставляет этот пример кода на условиях “как есть”, без каких-либо гарантий.

Для выполнения этого примера

  • Найдите этот пример на веб-узле MSDN, затем загрузите и откройте его.

  • Нажмите клавишу F5.

Демонстрации

Этот пример содержит два решения, PredictorASMX.sln и Predictor.sln, которые демонстрируют два различных типа служб в Visual Basic. Оба примера используют службу для возврата ответов на вопросы, задаваемые клиентским приложением. Для получения наилучших результатов откройте оба решения в разных экземплярах Visual Basic, чтобы можно было сравнить два различных способа.

В обоих решениях файл PredictorService.vb содержит код службы. Обратите внимание на атрибуты в верхней части каждого модуля. Для службы ASMX используются атрибуты WebServiceAttribute и WebServiceBindingAttribute, помечающие класс как веб-службу ASMX. Служба WCF состоит из атрибута ServiceContractAttribute (определенного как интерфейс IPredictorService), класса, который реализует эту службу, и записей в файле Web.config, которые определяют поведение, связанное с этой реализацией.

Если сравнить файлы Web.config для обоих решений, можно заметить, что они похожи за исключением того, что WCF-версия имеет дополнительный раздел system.ServiceModel. Этот раздел в дополнение к поведению службы определяет для нее конечную точку и привязку.

Два приложения PredictorClient также похожи между собой. Пример ASMX содержит ссылку на PredictorSoapClient; пример WCF ссылается на PredictorServiceClient. Если сравнить файлы App.config для двух клиентских приложений, можно заметить, что они оба содержат раздел system.ServiceModel. ASMX-версия использует basicHttpBinding для подключения к конечной точке .asmx, а WCF-версия использует wsHttpBinding для подключения к конечной точке .wcf.

См. также

Задачи

Пошаговое руководство. Создание служб WCF и доступ к таким службам

Другие ресурсы

Службы в управляемом коде