Пример использования служб 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 все примеры располагаются в Интернете.
Дополнительные сведения см. в разделе Поиск файлов примеров.
Примечание о безопасности. |
---|
Этот пример кода иллюстрирует концепцию и содержит только код, относящийся к этой концепции. Он может не отвечать требованиям безопасности для конкретных условий, и его не следует использовать в точности в том виде, в каком он приведен. Чтобы проект был безопасным и надежным, рекомендуется добавить код обеспечения безопасности и код обработки ошибок. Корпорация Майкрософт предоставляет этот пример кода на условиях “как есть”, без каких-либо гарантий. |
Для выполнения этого примера
Найдите этот пример на веб-узле 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 и доступ к таким службам