Delen via


Zelfstudie: Een Windows Communication Foundation-servicecontract implementeren

In deze zelfstudie wordt de tweede van de vijf taken beschreven die nodig zijn om een eenvoudige WCF-toepassing (Windows Communication Foundation) te maken. Zie Zelfstudie: Aan de slag met Windows Communication Foundation-toepassingen voor een overzicht van de zelfstudies.

De volgende stap voor het maken van een WCF-toepassing is het toevoegen van code voor het implementeren van de WCF-serviceinterface die u in de vorige stap hebt gemaakt. In deze stap maakt u een klasse met de naam CalculatorService waarmee de door de gebruiker gedefinieerde interface wordt geïmplementeerd ICalculator . Elke methode in de volgende code roept een rekenmachinebewerking aan en schrijft tekst naar de console om deze te testen.

In deze zelfstudie leert u het volgende:

  • Voeg code toe om het WCF-servicecontract te implementeren.
  • Bouw de oplossing.

Code toevoegen om het WCF-servicecontract te implementeren

Open in GettingStartedLib het bestand Service1.cs of Service1.vb en vervang de bijbehorende code door de volgende 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

App.config bewerken

Bewerk App.config in GettingStartedLib om de wijzigingen weer te geven die u in de code hebt aangebracht.

  • Voor Visual C#-projecten:

    • Regel 14 wijzigen in <service name="GettingStartedLib.CalculatorService">
    • Regel 17 wijzigen in <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Regel 22 wijzigen in <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
  • Voor Visual Basic-projecten:

    • Regel 14 wijzigen in <service name="GettingStartedLib.GettingStartedLib.CalculatorService">
    • Regel 17 wijzigen in <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Regel 22 wijzigen in <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">

De code compileren

Bouw de oplossing om te controleren of er geen compilatiefouten zijn. Als u Visual Studio gebruikt, selecteert u Build Solution in het menu Build (of drukt u op Ctrl+Shift+B).

Volgende stappen

In deze zelfstudie heeft u het volgende geleerd:

  • Voeg code toe om het WCF-servicecontract te implementeren.
  • Bouw de oplossing.

Ga naar de volgende zelfstudie voor meer informatie over het uitvoeren van de WCF-service.