Die Endpunktadresse kann beim Registrieren des WCF-Dienstclients mit SimpleIOC in ViewModel Locator nicht angegeben werden

8

Ich entwickle eine WPF-Anwendung mit der Hilfe MVVM Light Toolkit 4.1.24. Hier ist meine ViewModel Locator-Klasse.

%Vor%

Wo

  • IService1 - ist eine WCF-Serviceschnittstelle

  • DesignDataService - Implementierung von IService1 für Designzwecke

  • Service1Client - WCF-Proxy-Klasse, die IService1 implementieren

Ich habe zwei Fragen:

1) Beim Ausführen der App, habe ich einen Fehler wie folgt erhalten "Kann nicht registrieren: Mehrere Konstruktoren in Service1Client, aber keine mit PreferredConstructor markiert.". Dafür habe ich das "[PreferredConstructorAttribute]" Attribut zum Service1Client Standardkonstruktor hinzugefügt und die Anwendung wie erwartet ausgeführt. Ich weiß, dass es aus zwei Gründen keine gute Methode ist.

  • es wird eine Abhängigkeit zu SimpleIoc
  • ergeben
  • Wenn ich die Service-Referenz aktualisiere, muss ich diese manuell hinzufügen Attribut zum Standardkonstruktor.

Gibt es also eine bessere Methode?

2) Ich möchte die Endpunktadresse manuell an Service1Client übergeben. Wie kann ich das tun?

Vielen Dank im Voraus ...

    
Dennis 14.11.2012, 12:14
quelle

2 Antworten

1

Sie können dem Service-Client mithilfe der folgenden Methode eine Endpunktadresse hinzufügen.

SimpleIoc.Default.Register (() = & gt; neuer Service1Client ("WSHttpBinding_IService", wcfConfig.EndpointUrl));

    
Dennis 09.01.2013, 13:25
quelle
0

Ich hatte das gleiche Problem. Dieser Beitrag hat mir geholfen um dies zu tun. Sie müssen etwas wie folgt schreiben:

%Vor%     
Svenisok 02.01.2014 11:53
quelle

Tags und Links