Frage

Ich habe diese WCF-Service-Vertrag bekam (stark vereinfacht, aber achten Sie auf die Namespace ist es in):

namespace Foo.Services.BarService
{
    [ServiceContract]
    interface BarContract {... }
}

In meiner app.config (Client-Seite), konfiguriere ich einen Endpunkt für einig Service:

<endpoint address="..."
          binding="..."
          contract="Foo.Services.BarService.BarContract" />

Dies führt jedoch zu einem Fehler zu sagen, dass kein Endpunkt in der Konfiguration des Client gefunden wurde, dass Stützen BarService.BarContract. Ich kann nur für diesen Fehler loszuwerden, indem den contract Attributwert BarService.BarContract ändert (das heißt durch den Namensraum zu entfernen).

Warum ist das so? Wo könnte dieser Fehler kommen aus? Warum muss ich den Namespace Teil eines Vertragstyp nicht erwähnt? Sollte nicht das Ergebnis noch in WCF keinen passenden Endpunkt zu finden?


Antworten auf die Fragen in @Ladislav Mrnka Kommentar unten:

  • Ich spreche von der Client-Seite. (Ich habe vergessen, dieses Bit zu erwähnen,. Sorry dafür) Dieser Fehler kann möglicherweise von der Server-Seite kommen?

  • erzeugte ich den oben Service-Vertrag, zusammen mit einer BarClient Klasse, die implementiert es, über Visual Studio Dienstverweis hinzufügen Möglichkeiten. I angegebene URL des BarService, die von jemandem anderen ausgeführt wird. Da habe ich angegeben, dass der Dienst in der Foo.Services.BarService Namespace gesetzt werden.

  • Ich wollte den Dienst direkt über die BarClient Klasse automatisch generiert für mich verwenden, nicht über eine ChannelFactory<BarContract>.

War es hilfreich?

Lösung

Erstellen von Client von Add Service Referenz nicht recreate Namespace-Struktur aus dem Dienst. Alle erstellten Art und Verträge werden in neuen Namensraum durch den Namen des Dienstes Referenz definiert gelegt. Also ich Sie Ihren Service Referenz Barservice namens erraten. Client-Konfiguration müssen Namen der generierten Aufträge folgen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top