Настройка сервиса WCF

Оценить
(1 голос)

Вы увидели те основы, которые необходимы для создания сервиса WCF. Теперь, когда ваш сервис уже существует, можете отредактировать его конфигурацию для поддержки различ­ных клиентов. Это означает добавление конечных точек и соответствующей конфигураци­онной информации. Помните, что при помощи WCF вы можете создать единственный сер­вис, а затем оптимизировать его для работы с различными клиентами. Один клиент может обращаться по HTTP, другой — по TCP, а третий — через именованные каналы. При помо­щи конфигурации вы можете обеспечить поддержку всех этих клиентов (и не только их).

Вспомним, что шаблон WCF Service Library содержит файл App.config. Именно в этом файле вы описываете конфигурацию вашего сервиса. К счастью, фирма Microsoft создала вам в помощь редактор Service Configuration Editor. Для доступа к этому инструменту не­обходимо щелкнуть правой кнопкой мыши по файлу App.config и выбрать пункт Edit WCF Configuration. При этом запустится редактор (как показано на рис. 19.23).

Совет

Этот же редактор можно использовать и для редактирования конфигурационных файлов WCF вне Visual Studio. Это может быть полезно тогда, когда вам нужно вы­полнить редактирование уже после разработки. Для этого просто запустите SvcConfigEditor.exe. Описание: image530

Вы можете использовать этот инструмент для выполнения индивидуальных настроек эле­ментов вашей конфигурации. Однако лучше всего данным инструментом пользоваться при помощи его мастеров. В нем есть мастер для определения новой конечной точки. Да­лее описаны шаги для создания новой конечной точки по протоколу TCP для CustomerProfileService. Описание: image531

Мы будем использовать эту конечную точку для вызова сервиса после создания клиента.

1.   Для начала выделите каталог Endpoints. В панели Tasks выберите пункт Create a New Service Endpoint (рис. 19.24). При этом откроется диалоговое окно для новой конечной точки.

2.   Первый шаг мастера— выбор сервиса, для которого вы описываете новую конечную точку. Это показано на рис. 19.25. Вы выбираете наш сервис ICustomerProfileService.

3.   Следующий шаг— выбрать режим связи сервиса. Вы можете выбрать TCP, HTTP, имено­ванные каналы, MSMQ, а также Peer to Peer. Для нашего примера выберите TCP (рис. 19.26). Описание: image532

4.   Затем вам нужно указать адрес (или URI) для обнаружения сервиса. Для нашего примера укажите net.tcp://localhost/CutomerProfileService. Мы организуем хостинг нашего сервиса по этому адресу. Вызывающие клиенты смогут получить сервис в этой точке. На рис. 19.27 показан ввод этого значения.

5.   На этом работа мастера New Service Endpoint Element Wizard завершается. Вы должны увидеть сводку настроек конечной точки (рис. 19.28). Нажмите кнопку Finish для завер­шения операции. Описание: image533

6.   Затем нам нужно убедиться, что для сервиса включено совместное использование пор­тов. Это позволит множеству клиентов получить доступ к одному и тому же ТСР-порту данного компьютера. Для этого выделите в дереве конфигурации каталог Bindings. В па­нели Tasks выберите New Binding Configuration. После этого откроется диалоговое ок­но, которое попросит вас выбрать тип привязки (рис. 19.29). Выберите netTcpBinding и нажмите кнопку ОК.

Рис. 19.29. Создание новой конфигурации привязки

7.   В окне свойств привязки найдите свойство PortSharingEnabled и установите его значе­ние в True (рис. 19.30). Укажите также имя для привязки — Port Sharing Binding.

8.   Затем в дереве конфигурации выделите созданную вами в мастере конечную точку. Най­дите ее свойство BindingConfiguration и установите его значение в название конфигура­ции привязки, которую вы создали ранее (это PortSharingBinding). Пример показан на рис. 19.31.

Теперь вы можете закрыть редактор Configuration Editor. Теперь вы можете открыть файл App.config и увидеть в нем элемент <netTcpBinding> и ваш новый элемент <endpoint>.

Вы можете запустить сервис точно так же, как и раньше. На этот раз вы должны увидеть

хосты как для конечной точки HTTP, так и для конечной точки TCP (рис. 19.32).

Совет

Для того чтобы это правильно работало в Windows Vista, вам может понадобиться включить совместное использование TCP-портов на компьютере. Вы можете сделать это при помощи следующей командной строки (для этого вам понадобятся права ад­министратора): sc.exe config NetTcpPortSharing start= demand. Описание: image534Описание: image535

Рис. 19.31. Выбор BindingConfiguration для конечной точки

Теперь мы рассмотрим создание клиента для вызова нашего сервиса через эту новую конеч­ную точку.

Использование сервиса WCF
Хостинг и развертывание сервиса WCF
Резюме
Наше представление об Интернете
Фундаментальные основы сервиса

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.