WCF Discovery funktioniert einfach nicht

Ich versuche, fügen Sie ad-hoc-Entdeckung, um einen einfachen WCF-service client-setup (derzeit durchgeführt durch self-hosting in einer Konsolenanwendung). Debuggen mit VS2010 auf windows 7, und das tun, was ich kann, finden Sie im online-tutorial, aber immer noch - die Entdeckung client einfach nichts findet. Unnötig zu sagen, wenn ich öffnen Sie einen client, um die richtige service-endpoint kann ich den Zugriff auf den service von den Kunden.

service-code:

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>

client discovery-code:

DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint());
var criteria = new FindCriteria(typeof(IRenderer)) { Duration = TimeSpan.FromSeconds(5) };
var endpoints = discoveryClient.Find(criteria).Endpoints;

Die "Endpunkte" - Sammlung kommt immer leer aus. Ich habe versucht, läuft der Dienst und-client aus dem debugger von der Kommandozeile aus ein admin-Befehl-Linie - alles, aber ohne Erfolg (alles auf der lokalen Maschine natürlich, nicht zu mantion ich werde es brauchen, läuft auf meinem gesamten Subnetz schließlich)

Jede Hilfe wäre willkommen 🙂

  • Ich habe auch versucht, indem eine Ankündigung Endpunkt in der serviceDiscovery Verhalten - das hat nicht helfen, wie gut
  • gibt es eine app.config info für den Kunden?
  • auch haben Sie versucht, indem Sie einen Rahmen?
  • Ja, der client-app.config wurde automatisch generiert svcutil.exe. Habe auch versucht mit Security=none auf der service-Seite (die entfernt die Rolle, die von der client-app.config).
  • Und Nein, nicht versuchen Sie, ein Umfang, vor allem da ich habe nicht gesehen ein anständiges Beispiel 🙂 - was ist der einfachste Weg, dies zu tun?
InformationsquelleAutor kbo | 2011-07-21
Schreibe einen Kommentar