Поделиться через


Образец обнаружения службы с уникальным URI прослушивания

В этом образце показано обнаружение службы, свойство ListenUriMode которой имеет значение Unique. Если свойство ListenUriMode имеет значение Unique, то гарантируется уникальность ListenUri. Для этого задается уникальный порт либо к пути добавляется идентификатор GUID, чтобы сделать его уникальным.

Функции на стороне службы

Свойство ListenUriMode устанавливается в значение Unique для конечной точки TCP. Затем для службы разрешается обнаружение через конечную точку UdpDiscoveryEndpoint.

Функции на стороне клиента

Этот клиент подключается к службе с использованием правильного Via.Uri или с помощью метода Find. Затем возвращенный методом объект FindResponse запрашивается, чтобы определить, содержит ли он допустимый ListenUri и отличается ли этот URI от Address.Uri. Затем нужные сведения передаются в метод InvokeCalculatorService. В методе InvokeCalculatorService свойство ListenUri передается вызывающим объектом, а затем в конечную точку клиента добавляется ClientViaBehavior с правильным Via.Uri.

Использование этого образца

  1. Откройте файл UniqueListenUriMode.sln в среде Visual Studio 2010.

  2. Чтобы построить решение, нажмите клавишу F6.

  3. Запустите приложение службы, созданное в папке [основной каталог решения]\service\bin\debug.

  4. Запустите клиентское приложение, созданное в папке [основной каталог решения]\Client\bin\debug.

    Клиент определяет запущенную службу и записывает на консоль метаданные, опубликованные конечной точкой службы.

Ee530015.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WCF\Basic\Discovery\UniqueListenUriMode