Freigeben über


Vereinfachte Konfiguration für WCF-Dienste

Im Beispiel "ConfigSimplificationIn40 " wird veranschaulicht, wie ein typischer Dienst und Client mithilfe von Windows Communication Foundation (WCF) implementiert und konfiguriert wird. Dieses Beispiel ist die Basis für alle anderen Grundlegenden Technologiebeispiele.

Dieser Dienst, der einen Endpunkt für die Kommunikation mit dem Dienst verfügbar macht, verwendet die vereinfachte Konfiguration in .NET Framework 4. Vor .NET Framework 4 wird der Endpunkt in der Regel in einer Konfigurationsdatei (Web.config) definiert, wie im folgenden Beispielkonfigurationscode gezeigt.

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright ©) Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="Microsoft.Samples.GettingStarted.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <endpoint address="" binding="basicHttpBinding" contract="ICalculator"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
  </system.serviceModel>
</configuration>

In .NET Framework 4 ist das <service> Element optional. Wenn ein Dienst keine Endpunkte definiert, werden dem Dienst ein Endpunkt für jede implementierte Basisadresse und jeden Vertrag hinzugefügt. Die Basisadresse wird an den Vertragsnamen angefügt, um den Endpunkt zu ermitteln, und die Bindung wird durch das Adressschema bestimmt. Im folgenden Codebeispiel wird eine vereinfachte Konfigurationsdatei veranschaulicht. In der konfigurierten Form kann der Dienst von einem Client auf demselben Computer unter http://localhost/servicemodelsamples/service.svc zugegriffen werden. Damit Clients auf Remotecomputern auf den Dienst zugreifen können, muss anstelle von localhost ein vollqualifizierter Domänenname angegeben werden. Der Dienst macht metadaten nicht standardmäßig verfügbar. Daher aktiviert der Dienst das ServiceMetadataBehavior Verhalten.

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright © Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

So verwenden Sie dieses Beispiel

  1. Stellen Sie sicher, dass Sie das One-Time Setup-Verfahren für die Windows Communication Foundation-Beispieleausgeführt haben.

  2. Befolgen Sie zum Erstellen der Lösung die Anweisungen im Erstellen der Windows Communication Foundation-Beispiele.

  3. Führen Sie das Beispiel aus, indem Sie die folgenden Schritte ausführen:

    1. Klicken Sie mit der rechten Maustaste auf das Dienstprojekt , und wählen Sie " Als Startprojekt festlegen" aus, und drücken Sie dann STRG+F5.

    2. Warten Sie, bis die Konsolenausgabe bestätigt, dass der Dienst läuft.

    3. Klicken Sie mit der rechten Maustaste auf das Clientprojekt , und wählen Sie "Als Startprojekt festlegen" aus, und drücken Sie dann STRG+F5.

Siehe auch