Sdílet prostřednictvím


Kurz: Implementace kontraktu služby Windows Communication Foundation

Tento kurz popisuje druhou z pěti úloh potřebných k vytvoření základní aplikace WCF (Windows Communication Foundation). Přehled kurzů najdete v tématu Kurz: Začínáme s aplikacemi Windows Communication Foundation.

Dalším krokem pro vytvoření aplikace WCF je přidání kódu pro implementaci rozhraní služby WCF, které jste vytvořili v předchozím kroku. V tomto kroku vytvoříte třídu s názvem CalculatorService , která implementuje uživatelsky definované ICalculator rozhraní. Každá metoda v následujícím kódu volá operaci kalkulačky a zapíše text do konzoly, která ji otestuje.

V tomto kurzu se naučíte:

  • Přidejte kód pro implementaci kontraktu služby WCF.
  • Sestavte řešení.

Přidání kódu pro implementaci kontraktu služby WCF

V gettingStartedLib otevřete soubor Service1.cs nebo Service1.vb a nahraďte jeho kód následujícím kódem:

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

Úprava souboru App.config

Upravte App.config v gettingStartedLib tak, aby odrážel změny provedené v kódu.

  • Pro projekty Visual C#:

    • Změna řádku 14 na <service name="GettingStartedLib.CalculatorService">
    • Změna řádku 17 na <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Změna řádku 22 na <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
  • Pro projekty Jazyka Visual Basic:

    • Změna řádku 14 na <service name="GettingStartedLib.GettingStartedLib.CalculatorService">
    • Změna řádku 17 na <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Změna řádku 22 na <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">

Kompilace kódu

Sestavte řešení, abyste ověřili, že nedošlo k žádným chybám kompilace. Pokud používáte Visual Studio, vyberte v nabídce Sestavení řešení sestavení (nebo stiskněte ctrl+ Shift+B).

Další kroky

V tomto kurzu jste se naučili, jak:

  • Přidejte kód pro implementaci kontraktu služby WCF.
  • Sestavte řešení.

V dalším kurzu se dozvíte, jak spustit službu WCF.