Share via


Gewusst wie: Angeben einer Clientbindung in einer Konfiguration

In diesem Beispiel wird eine Client-Konsolenanwendung erstellt, um einen Rechnerdienst zu nutzen, und die Bindung dieses Clients wird deklarativ in der Konfiguration angegeben. Der Client greift auf den CalculatorService zu, der die ICalculator-Schnittstelle implementiert, und sowohl der Dienst als auch der Client verwenden die Klasse BasicHttpBinding.

In der umrissenen Prozedur wird davon ausgegangen, dass der Rechnerdienst ausgeführt wird. Weitere Informationen zum Erstellen des Diensts finden Sie unter Gewusst wie: Angeben einer Dienstbindung in einer Konfiguration. Außerdem wird das ServiceModel Metadata Utility Tool (Svcutil.exe) verwendet, das Windows Communication Foundation (WCF) zur Verfügung stellt, um die Clientkomponenten automatisch zu generieren. Das Tool generiert den Clientcode und die Konfiguration zum Zugreifen auf den Dienst.

Der Client wird in zwei Schritten erstellt. Svcutil.exe generiert den ClientCalculator, der die ICalculator-Schnittstelle implementiert. Diese Clientanwendung wird dann durch das Erstellen einer Instanz von ClientCalculator erstellt.

Normalerweise ist die bewährte Methode, die Bindung anzugeben und die Informationen deklarativ in der Konfiguration anzusprechen anstatt imperativ im Code. Die Definition von Endpunkten im Code ist normalerweise nicht geeignet, da sich die Bindungen und die Adressen eines bereitgestellten Diensts normalerweise von denen unterscheiden, die während der Entwicklung des Diensts verwendet wurden. Allgemeiner gesagt, ermöglicht das Ausschließen der Bindung und der Adressierungsinformationen aus dem Code, sie zu ändern, ohne die Anwendung neu kompilieren oder erneut bereitstellen zu müssen.

Sie können all die folgenden Konfigurationsschritte ausführen, indem Sie das Configuration Editor Tool (SvcConfigEditor.exe) verwenden.

Die Quellkopie dieses Beispiels finden Sie in dem Beispiel Basic Binding .

Eine Clientbindung in einer Konfiguration angeben

  1. Verwenden Sie Svcutil.exe in der Befehlszeile, um Code von Dienstmetadaten zu generieren.

    Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address> 
    
  2. Der generierte Client enthält die ICalculator-Schnittstelle, die den Dienstvertrag definiert, den die Clientimplementierung zufriedenstellen muss.

  3. Der generierte Client enthält außerdem die Implementierung vom ClientCalculator.

  4. Svcutil.exe generiert auch die Konfiguration für den Client, der die Klasse BasicHttpBinding verwendet. Nennen Sie diese Datei bei Verwendung von Visual Studio "App.config". Beachten Sie, dass die Adresse und die Bindungsinformationen in der Implementierung des Diensts nirgendwo angegeben werden. Ebenso wenig muss Code geschrieben werden, um Informationen aus der Konfigurationsdatei abzurufen.

  5. Erstellen Sie eine Instanz des ClientCalculator in einer Anwendung, und rufen Sie dann die Dienstvorgänge auf.

  6. Kompilieren Sie den Code, und führen Sie den Client aus.

Siehe auch

Konzepte

Verwenden von Bindungen, um Dienste und Clients zu konfigurieren