Веб-сервисы, Программирование, Сервис-ориентированные системы

Основы разработки WCF-служб. Часть 9. WCF-службы в локальной сети и интернете

Организуем работу WCF-службы и клиентского приложения через локальную сеть и интернет. Основы разработки WCF-служб. Часть 9. WCF-службы в локальной сети и интернете
Иван Артамоновhttps://artamonoviv.ru/images/icon/logo.png
Внимание! Эта статья была опубликована в 2012 году в книге "Разработка распределенных сервисно-ориентированных программных средств". Использование материалов из нее разрешено только при правильной библиографической ссылке (для докладов, курсовых работы, рефератов, дипломных и пр. научных работ) или url-ссылки (для сайтов). Библиографическое описание дано в конце статьи.
PDF-версия статьи: скачать
Организуем работу WCF-службы и клиентского приложения через локальную сеть и интернет.

Задача: Организовать работу WCF-службы и клиентского приложения через локальную сеть.

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

Каким образом преобразовать разработанные нами ранее программы в сетевые?

Ответ прост: изменить настройки приложений через файл "App.config".

  1. Необходимо решить, какая привязка будет обеспечивать наше соединение. Следует учитывать, что некоторые привязки предназначены только для работы между процессами одной операционной системы, некоторые привязки не поддерживают дуплексные коммуникации, а некоторые привязки предназначены исключительно для технологии WCF или операционных систем класса Windows. Выбор конкретной привязки зависит от требований и условий подключения. Самой простой, но и наиболее поддерживаемой другими программами являются привязки для работы через протоколы HTTP и HTTPS, то есть "BasicHttpBinding" и др. "*HttpBinding": их следует рекомендовать, когда программист одной стороны не уверен в коммуникационных возможностях другой стороны.
  2. Пропишите эту привязку в настройках конечных точек клиента и сервера.
  3. Для привязки необходимо сформировать соответствующий адрес конечной точки: относительный, с учетом базового адреса службы, или абсолютный. Например, для "HTTP"-привязок базовый адрес службы и абсолютный адрес точки должен быть вида "http://[адрес_компьютера]/[путь_до_службы]".

Согласованный ввод одинакового адреса для службы и клиента при поддержке одинаковых контрактов гарантирует возможность установления соединения.

Предположим, что служба будет запущена на компьютере с IP-адресом: "10.1.34.1". Пусть привязка будет "BasicHttpBinding". Тогда пусть служба прослушивает подключения по адресу: "http://10.1.34.1/service".
Тогда настройки клиента из статьи Основы разработки WCF-служб. Часть 4. Клиент для службы могут выглядеть так:

А настройки службы (с учетом модификаций статьи Основы разработки WCF-служб. Часть 8. Публикация метаданных):

Хотя, конечно, остальные конечные точки в службе для нашего клиента здесь не нужны.

Следует отметить, что локальная сеть одного предприятия – это не предел. Служба может быть расположена где угодно в интернете, и адрес ее может быть не "http://10.1.34.1/service", а, например, "http://ya.ru/service". Правда, тогда выбор привязок ограничивается исключительно "HTTP"-привязками.


Библиографическое описание

Артамонов, И. В. Разработка распределенных сервисно-ориентированных программных средств / Иван Васильевич Артамонов. – Иркутск : БГУЭП, 2012. – 130 с.

URL-ссылка

https://artamonoviv.ru/articles/wcf_tutorial_9/