Estoy tratando de agregar un descubrimiento ad-hoc a una configuración de cliente de servicio WCF simple (actualmente implementado por el alojamiento propio en una aplicación de consola). Depuración utilizando VS2010 en Windows 7 y haciendo todo lo que puedo encontrar en el tutorial en línea, pero aún así, el cliente de descubrimiento simplemente no encuentra nada. No hace falta decir que si abro un cliente al punto final de servicio correcto, puedo acceder al servicio desde el cliente.WCF Discovery simplemente no funciona
código de servicio:
using (var selfHost = new ServiceHost(typeof(Renderer)))
{
try
{
selfHost.Open();
...
selfHost.Close();
servicio 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>
cliente código de descubrimiento:
DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
var criteria = new FindCriteria(typeof(IRenderer)) { Duration = TimeSpan.FromSeconds(5) };
var endpoints = discoveryClient.Find(criteria).Endpoints;
La colección '' puntos finales siempre sale vacía. He intentado ejecutar el servicio y el cliente desde el depurador, desde una línea de comandos, desde una línea de comando de administrador; todo, pero fue en vano (todo en la máquina local, por supuesto, no para gestionarlo, lo necesitaré ejecutándolo). toda mi subred con el tiempo)
Cualquier ayuda sería muy apreciada :-)
También intenté agregar un punto final de anuncio en el comportamiento del servicioDiscovery, eso tampoco ayudó – kbo
¿hay alguna información de app.config para el cliente? –
también ha intentado agregar un alcance? –