Я пытаюсь добавить ad-hoc-открытие к простой настройке службы WCF-сервиса (в настоящее время реализуется самообслуживанием в консольном приложении). Отладка с использованием VS2010 на Windows 7 и все, что я могу найти в онлайн-учебнике, но все же - клиент обнаружения просто ничего не находит. Излишне говорить, что если я открою клиента для правильной конечной точки обслуживания, я могу получить доступ к этой услуге от клиента.
код обслуживания:
using (var selfHost = new ServiceHost(typeof(Renderer)))
{
try
{
selfHost.Open();
...
selfHost.Close();
service app.config:
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="TestApp.Renderer">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000" />
</baseAddresses>
</host>
<endpoint address="ws" binding="wsHttpBinding" contract="TestApp.IRenderer"/>
<endpoint kind="udpDiscoveryEndpoint"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceDiscovery/>
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
код обнаружения клиента:
DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
var criteria = new FindCriteria(typeof(IRenderer)) { Duration = TimeSpan.FromSeconds(5) };
var endpoints = discoveryClient.Find(criteria).Endpoints;
Коллекция "endpoints" всегда выходит пустым. Я попробовал запустить службу и клиент из отладчика из командной строки из командной строки администратора - все, но безрезультатно (все на локальной машине, конечно, не в мантионе, мне нужно, чтобы она работала на вся моя подсеть)
Любая помощь будет оценена: -)