Tutorial: Implementieren eines Windows Communication Foundation Service-VertragsTutorial: Implement a Windows Communication Foundation service contract

In diesem Tutorial wird die zweite von fünf Aufgaben beschrieben, die zum Erstellen einer Basic Windows Communication Foundation (WCF)-Anwendung erforderlich sind.This tutorial describes the second of five tasks required to create a basic Windows Communication Foundation (WCF) application. Eine Übersicht über die Tutorials finden Sie unter Tutorial: Beginnen Sie mit Windows Communication Foundation Anwendungen.For an overview of the tutorials, see Tutorial: Get started with Windows Communication Foundation applications.

Der nächste Schritt zum Erstellen einer WCF-Anwendung besteht darin, Code zum Implementieren der WCF-Dienst Schnittstelle hinzuzufügen, die Sie im vorherigen Schritt erstellt haben.The next step for creating a WCF application is to add code to implement the WCF service interface that you created in the previous step. In diesem Schritt erstellen Sie eine Klasse mit dem CalculatorService Namen, die die benutzerdefinierte ICalculator Schnittstelle implementiert.In this step, you create a class named CalculatorService that implements the user-defined ICalculator interface. Jede Methode im folgenden Code Ruft einen Rechner Vorgang auf und schreibt Text in die Konsole, um Sie zu testen.Each method in the following code calls a calculator operation and writes text to the console to test it.

In diesem Tutorial lernen Sie, wie die folgenden Aufgaben ausgeführt werden:In this tutorial, you learn how to:

  • Fügen Sie Code hinzu, um den WCF-Dienstvertrag zu implementieren.Add code to implement the WCF service contract.
  • Erstellen Sie die Projektmappe.Build the solution.

Hinzufügen von Code zum Implementieren des WCF-DienstvertragsAdd code to implement the WCF service contract

Öffnen Sie in gettingstartedlibdie Datei Service1.cs oder Service1. vb , und ersetzen Sie den Code durch den folgenden Code:In GettingStartedLib, open the Service1.cs or Service1.vb file and replace its code with the following code:

using System;
using System.ServiceModel;

namespace GettingStartedLib
{
    public class CalculatorService : ICalculator
    {
        public double Add(double n1, double n2)
        {
            double result = n1 + n2;
            Console.WriteLine("Received Add({0},{1})", n1, n2);
            // Code added to write output to the console window.
            Console.WriteLine("Return: {0}", result);
            return result;
        }

        public double Subtract(double n1, double n2)
        {
            double result = n1 - n2;
            Console.WriteLine("Received Subtract({0},{1})", n1, n2);
            Console.WriteLine("Return: {0}", result);
            return result;
        }

        public double Multiply(double n1, double n2)
        {
            double result = n1 * n2;
            Console.WriteLine("Received Multiply({0},{1})", n1, n2);
            Console.WriteLine("Return: {0}", result);
            return result;
        }

        public double Divide(double n1, double n2)
        {
            double result = n1 / n2;
            Console.WriteLine("Received Divide({0},{1})", n1, n2);
            Console.WriteLine("Return: {0}", result);
            return result;
        }
    }
}
Imports System.ServiceModel

Namespace GettingStartedLib

    Public Class CalculatorService
        Implements ICalculator

        Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Add
            Dim result As Double = n1 + n2
            ' Code added to write output to the console window.
            Console.WriteLine("Received Add({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result
        End Function

        Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Subtract
            Dim result As Double = n1 - n2
            Console.WriteLine("Received Subtract({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result

        End Function

        Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Multiply
            Dim result As Double = n1 * n2
            Console.WriteLine("Received Multiply({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result

        End Function

        Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Divide
            Dim result As Double = n1 / n2
            Console.WriteLine("Received Divide({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result

        End Function
    End Class
End Namespace

Bearbeiten von "App. config"Edit App.config

Bearbeiten Sie die Datei app. config in gettingstartedlib , um die Änderungen widerzuspiegeln, die Sie am Code vorgenommen haben.Edit App.config in GettingStartedLib to reflect the changes you made to the code.

  • Für visuelle C# Projekte:For Visual C# projects:

    • Ändern Sie Zeile 14 in<service name="GettingStartedLib.CalculatorService">Change line 14 to <service name="GettingStartedLib.CalculatorService">
    • Ändern Sie Zeile 17 in<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />Change line 17 to <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Ändern Sie Zeile 22 in<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">Change line 22 to <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
  • Für Visual Basic-Projekte:For Visual Basic projects:

    • Ändern Sie Zeile 14 in<service name="GettingStartedLib.GettingStartedLib.CalculatorService">Change line 14 to <service name="GettingStartedLib.GettingStartedLib.CalculatorService">
    • Ändern Sie Zeile 17 in<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />Change line 17 to <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Ändern Sie Zeile 22 in<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">Change line 22 to <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">

Kompilieren des CodesCompile the code

Erstellen Sie die Lösung, um sicherzustellen, dass keine Kompilierungsfehler vorliegen.Build the solution to verify there aren't any compilation errors. Wenn Sie Visual Studio verwenden, wählen Sie im Menü Erstellen die Option Projekt Mappe Erstellen (oder drücken Sie STRG+UMSCHALT+B).If you're using Visual Studio, on the Build menu select Build Solution (or press Ctrl+Shift+B).

Nächste SchritteNext steps

In diesem Tutorial haben Sie gelernt, wie die folgenden Aufgaben ausgeführt werden:In this tutorial, you learned how to:

  • Fügen Sie Code hinzu, um den WCF-Dienstvertrag zu implementieren.Add code to implement the WCF service contract.
  • Erstellen Sie die Projektmappe.Build the solution.

Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie den WCF-Dienst ausführen.Advance to the next tutorial to learn how to run the WCF service.