Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный_практикум.doc
Скачиваний:
93
Добавлен:
15.11.2019
Размер:
45.35 Mб
Скачать

Лабораторная работа № 16: Windows Communication Foundation

Содержание

  1. Вводная часть

  2. Создание приложения WCF

  3. Модификация приложения WCF: приложение-клиент для WCF-службы

  4. Создание приложения Windows Forms: сервер чата на WCF

  5. Создание приложения Windows Forms: клиент чата на WCF

  6. Завершающая часть

  7. О приложении к Лабораторной работе № 16

1. Вводная часть

В этой работе будет рассмотрена работа с подтипом приложений доступных для создания в Visual Studio 2010, а именно Приложение службы WCF. Что такое WCF?

Windows Communication Foundation (WCF) — программный «фреймворк», используемый для обмена данными между приложениями входящими в состав .NET Framework. До своего выпуска в декабре 2006 года в составе .NET Framework 3.0, WCF был известен под кодовым именем Indigo.

WCF делает возможным построение безопасных и надёжных транзакционных систем через упрощённую унифицированную программную модель межплатформенного взаимодействия. Или проще: приложений для удалённого межплатформенного обмена данными. Комбинируя функциональность существующих технологий .NET по разработке распределённых приложений (ASP.NET XML Web ServicesASMX, WSE 3.0, .NET Remoting, .NET Enterprise Services и System.Messaging), WCF предоставляет единую инфраструктуру разработки, при умелом применении повышающую производительность и снижающую затраты на создание безопасных, надёжных и транзакционных Web-служб. Заложенные в неё принципы интероперабельности (способность к взаимодействию) позволяют организовать работу с другими платформами, для чего используются технологии взаимодействия платформ, например WSIT (Web Services Interoperability Technology) разрабатываемые на базе открытого исходного кода.

«Хостинг» (расположение) приложений WCF:

Класс службы WCF не может существовать самостоятельно. Каждая служба WCF должна находиться под управлением некоторого процесса Windows, называемого хостовым (серверным) процессом. Существуют несколько вариантов хостинга:

  • Автохостинг (то есть хост-процессом является, к примеру, консольное приложение или графическое приложение Windows Forms)

  • Хостинг в одной из служб Windows.

  • Хостинг с использованием IIS (Internet Information Server) или WAS (Windows Activation Services).

В данной работе будет рассмотрен простейший случай работы с WCF, а также будет написан клиент и сервер для реализации возможностей чата на основе WCF (оба приложения будут в виде Windows Forms).

2. Создание приложения wcf:

Запускаем Visual Studio 2010, откроется Начальная страница:

Для начала, надо создать проект, для этого выполним последовательно: Файл -> Создать -> Проект… (также можно просто нажать сочетание клавиш Ctrl+Shift+N или пункт «Создать проект…» на Начальной странице):

Рис. 2. 1. Создание нового проекта

Выберем слева в пункте Установленные шаблоны язык Visual C#, далее найдём в списке Приложение службы WCF. Также здесь можно выбрать какой использовать «фреймворк» (набора компонентов для написания программ). В нашем случае выберем .NET Framework 4.

Рис. 2. 2. Окно создания нового проекта

В поле Имя вводим LWP16WCF это название программы (выбрано по названию лабораторного практикума, номеру и названию работы). В поле Расположение указана конечная директория, где будет находиться весь проект. Выберем расположение удобное для быстрого поиска. В поле Имя решения вводится либо название программы «по умолчанию» из поля Имя автоматически, либо можно ввести своё собственное. Под этим именем будет создана конечная папка проекта (если Имя и Имя решения разные).

Рис. 2. 3. Вводим данные нового проекта приложения Windows Forms

После нажатия клавиши ОК мы увидим сформированный проект и исходный код приложения Windows Forms (не пустого изначально).

Рис. 2. 4. Обозреватель решений: состав проекта приложения Windows Forms сформированного средой разработки

Теперь, можно откомпилировать созданную программу, нажав клавишу F5 (Отладка -> Начать отладку или нажав на иконку . Тем самым мы запускаем приложение в режиме отладки (и производим компиляцию debug-версии программы) (Debug выбрано изначально).

В данном типе проекта может быть два возможных вывода результата после компиляции. Если в обозревателе решений выбран любой файл кроме Service1.svc, будет открыто окно Internet Explorer с содержимым каталога проекта:

Рис. 2. 5. Запуск приложения WCF по конфигурации Debug (не выбран файл Service1.svc)

Если выбрать вышеуказанный файл, то должен открыться Тестовый клиент WCF который служит для проверки работоспособности сервиса и выполняет функции простого клиента.

Тестовый клиент WCF (WcfTestClient.exe) представляет собой средство с графическим интерфейсом пользователя, позволяющее вводить тестовые параметры, отправлять их в службу и просматривать ответную реакцию службы. При совместном использовании с узлом службы WCF это обеспечивает удобную практику тестирования служб.

Тестовый клиент WCF (WcfTestClient.exe) находится в следующей папке (для Visual Studio 2010): C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\

Рис. 2. 6. Запуск приложения WCF по конфигурации Debug (выбран файл Service1.svc)

Собственно тестирование происходит так: дважды нажмём на GetData(), затем в поле Запрос -> строка value введём любое число и нажмём Вызвать. В окне Предупреждение системы безопасности жмём ОК и наслаждается ответом службы в поле Ответ -> return:

Рис. 2. 7. Запуск приложения WCF по конфигурации Debug (выбран файл Service1.svc): тестирование службы

Здесь также можно проверить работу и второго доступного параметра (контейнера с двумя разными типами переменных): GetDataUsingDataContract().

ПРИМЕЧАНИЕ № 1: Если по каким-либо причинам произошли ошибки при компиляции, можно проверить наличие всех необходимых компонентов. Если на ПК Visual Studio 2010 установлен правильно и со всеми необходимыми компонентами, добавлять ничего не нужно и ошибок не должно возникать. Если же были установлены не все компоненты (например, нет IIS), то можно воспользоваться специальным установщиком (ищем его в на одном из верхним меню Visual Studio 2010): Установщик веб-платформы 3.0:

После запуска установщика, выбираем неотступающие компоненты (при наличии подключения к сети Интернет). Выбор компонента происходит нажатием кнопки Добавить:

Рис. 2. 8. Установщик веб-платформы 3.0: выбор компонентов на вкладке Важный сайт

Рис. 2. 9. Установщик веб-платформы 3.0: выбор компонентов на вкладке Продукты -> Сервер