- •Практическое руководство по программной реализации wcf-служб
- •Как определить контракт службы WindowsCommunicationFoundation
- •Как реализовать контракт службы WindowsCommunicationFoundation
- •Реализация контракта службы wcf
- •Как размещать и запускать базовую службу WindowsCommunicationFoundation
- •Создание консольного приложения для размещения службы.
- •Как создать клиент Windows Communication Foundation
- •Создание клиента Windows Communication Foundation
- •Как настроить базовый клиент Windows Communication Foundation
- •Настройка клиента Windows Communication Foundation
- •Как использовать клиент Windows Communication Foundation
- •Использование клиента Windows Communication Foundation
- •Настройка служб с использованием файлов конфигурации
- •Основные разделы файла конфигурации
- •Практическое руководство. Конфигурации привязок и поведения
- •Слияние поведений
- •Как разместить службу wcf в iis
- •Создание службы, размещенной в iis
- •Служебное средство ServiceModel Metadata Utility Tool (Svcutil.Exe)
- •Функциональные возможности
- •Время ожидания
- •Настройка для различных версий
- •Доступ к документам wsdl
- •Использование программы SvcUtil.Exe
- •Типичные способы использования
- •Создание кода
- •Экспорт метаданных
- •Проверка службы
- •Загрузка метаданных
- •Создание типа XmlSerializer
- •Примеры
- •Максимальная квота на количество символов в таблице имен.
- •Вопросы безопасности
Как создать клиент Windows Communication Foundation
Это четвертый из шести шагов, необходимый для создания простого приложения Windows Communication Foundation (WCF). В данном разделе описывается, как извлечь метаданные из службы WCF и использовать, чтобы создать прокси WCF для доступа к службе. Эта задача выполняется с помощью функции добавления ссылки на службу, предоставляемой средой Visual Studio. Данное средство получает метаданные из конечной точки обмена метаданными службы и создает файл управляемого исходного кода для клиентского прокси на выбранном языке (по умолчанию на C#). Кроме создания клиентского прокси, данное средство также создает или обновляет файл конфигурации клиента, позволяющий клиентскому приложению подключаться к службе в одной из конечных точек.
Примечание |
Для создания прокси-класса и конфигурации также можно использовать средство Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe)вместо добавления ссылки на службу в среде Visual Studio. |
Внимание |
При вызове службы WCF из проекта библиотеки классов можно использовать команду «Добавить ссылку на службу» для автоматического создания прокси и связанного файла конфигурации. Файл конфигурации не будет использоваться проектом библиотеки классов. Необходимо добавить параметры из созданного файла конфигурации в файл app.config, соответствующий исполняемому файлу, вызывающему библиотеку классов. |
Клиентское приложение использует созданный прокси-класс для взаимодействия со службой. Эта процедура описана в разделе Как использовать клиент Windows Communication Foundation.
Создание клиента Windows Communication Foundation
Создайте новый проект консольного приложения, щелкнув правой кнопкой мыши на решении GettingStarted и выбрав элементы Добавить ->Создать проект. В диалоговом окне Добавить новый проект в левой части окна выберите Windows во вкладке C# или VB. В центральной части диалогового окна выберите Консольное приложение. Задайте имя проекта —
GettingStartedClient
.Выберите для GettingStartedClient требуемую версию .NET Framework — .NET Framework 4.5, щелкнув правой кнопкой мыши GettingStartedClient в обозревателе решений и выбрав Свойства. В раскрывающемся списке Требуемая версия .NET Framework выберите значение .NET Framework 4.5. Выбор требуемой версии .NET Framework для проекта Visual Basic несколько отличается от варианта, приведенного выше. В диалоговом окне «Свойства» проекта, GettingStartedClient перейдите на вкладку в левой части экрана Компиляция и нажмите кнопку Дополнительные параметры компиляции в нижнем левом углу диалогового окна. Выберите пункт .NET Framework 4.5 в раскрывающемся списке Требуемая версия .Net Framework.
Указание требуемой версии .NET Framework приведет к перезагрузке решения в среде Visual Studio 2011. Нажмите кнопку ОК, когда появится соответствующий запрос.
Добавьте в проект GettingStartedClient ссылку на сборку System.ServiceModel. Для этого в обозревателе решений щелкните правой кнопкой мыши папку Ссылка проекта GettingStartedClient и выберите пункт Добавить ссылку. В диалоговом окне Добавить ссылку выберите в левой стороне диалогового окна пункт Платформа. В текстовом поле «Поиск сборок» введите
System.ServiceModel
. В центральной части диалогового окна выберите System.ServiceModel, нажмите кнопку Добавить, а затем кнопку Закрыть. Сохраните решение, нажав кнопку Сохранить все в главном меню.Затем необходимо добавить ссылку на службу калькулятора. Прежде чем это можно будет сделать, следует запустить консольное приложение GettingStartedHost. После запуска основного приложения в обозревателе решений нужно щелкнуть правой кнопкой мыши папку «Ссылки» проекта GettingStartedClient, выбрать пункт «Добавить ссылку на службу» и ввести в поле адреса следующий URL-адрес: http://localhost:8000/ServiceModelSamples/Service. Затем следует нажать кнопку Перейти. Служба CalculatorService должна отображаться в списке служб. Дважды щелкните службу CalculatorService, чтобы развернуть список контрактов, реализованных службой. Оставьте пространство имен по умолчанию и нажмите кнопку ОК.
При добавлении ссылки на службу с помощью Visual Studio в обозревателе решений для проекта GettingStartedClient появится новый элемент в папке «Ссылки на службы». При использовании средства Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe)создаются файл исходного кода и файл app.config.
Чтобы создать клиентский код, также можно использовать программу командной строки Служебное средство ServiceModel Metadata Utility Tool (Svcutil.exe)с соответствующими параметрами. В следующем примере создается файл кода и файл конфигурации для службы. В первом примере показано, как создать прокси на VB, а во втором то же самое, но с использованием C#:
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/ServiceModelSamples/service
C#
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service
Мы создали прокси, который будет использовать клиентское приложение для вызова службы калькулятора. Перейти к следующему разделу обучающего урока Как настроить базовый клиент Windows Communication Foundation