Frage

Ich habe einen WCF-Dienst (sie WCFService1 sagen) auf zwei Remote-Rechner eingesetzt wird. Da der gleiche Dienst auf zwei verschiedenen Maschinen eingesetzt wird haben sie gemeinsame Schnittstelle und gemeinsame Methoden ausgesetzt.

WCFService1 auf Machine1 und Machine2 eingesetzt.

Um WCF-Dienst von Client-Rechner zu verbrauchen, ich habe eine Client-Anwendung erstellt:

  1. Ich habe eine Design Zeitreferenz von WCF-Dienst (WCFService1) (mit Hilfe von URL http://11.12.25.23/WCFService/Service1.svc ).

  2. Jetzt kann ich die Methoden im Dienst ausgesetzt aufrufen. Bis jetzt seine feinen ...

Jetzt meine Frage: ist, wenn ich Client mit verschiedenen URL in anderen Maschine gehostet gleichen Dienst zur Laufzeit aktualisieren (Lassen Sie uns sagen, http://12.12.24.24/WCFService/Service1.svc ) Wie kann ich das tun?

Derzeit Ich tue dies:

BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://12.12.24.24/WCFService/Service1.svc");
MyServiceClient serviceClient = new MyServiceClient(binding, address);

aber wenn ich die Methode im Dienst ausgesetzt aufrufen Ich habe mis Einstimmungsfehler zu binden.

War es hilfreich?

Lösung

Haben Sie Ihren Client versucht, den Aufruf zuerst?

Beispiel:

MyWCFClient client = new MyWCFClient();
client.EndPoint.Address = new EndpointAddress("http://somewhere:888/here.svc");

Andere Tipps

Ich würde vermuten, dass, wenn Sie auf Machine1 in Ihrer web.config Datei anschauen, werden Sie die Bindung wird WSHttpBinding (oder etwas anderes als Basichttpbinding) sehen, dass. Wenn Sie es ändern Basichttpbinding (unter der Annahme, dass das, was Sie wirklich wollen), werden Sie diesen Fehler entfernen.

Wie wird Ihr Dienst konfiguriert? Zeigen Sie uns Ihre serverseitigen und clientseitige Konfiguration!

Die Bindung Mismatch bedeutet, dass Sie entweder nicht die gleiche Bindung verwenden, oder einige wichtige Parameter für die Bindung ist anders - es etwas falsch konfiguriert sein muss - so zeigen uns die config

Marc

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