Compartir vía


Tutorial: Implementación de un contrato de servicio Windows Communication Foundation

En este tutorial se describe la segunda de las cinco tareas necesarias para crear una aplicación Windows Communication Foundation (WCF) básica. Para obtener información general sobre los tutoriales, consulte Tutorial: Introducción a las aplicaciones Windows Communication Foundation.

El siguiente paso para crear una aplicación WCF consiste en la agregación de código para implementar la interfaz de servicio WCF que ha creado en el paso anterior. En este paso, se crea un nombre de clase CalculatorService que implementa la interfaz ICalculator que define el usuario. Cada método del código siguiente llama a una operación de calculadora y escribe texto en la consola para probarla.

En este tutorial, aprenderá a:

  • Agregue código para Implementar el contrato de servicio WCF.
  • Compile la solución.

Agregue código para Implementar el contrato de servicio WCF

En GettingStartedLib, abra el archivo Service1.cs o Service1.vb y reemplace el código por el siguiente:

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

Modificación de App.config

Modifique App.config en GettingStartedLib para reflejar los cambios que se han realizado en el código.

  • Para proyectos de Visual C#:

    • Cambie la línea 14 a <service name="GettingStartedLib.CalculatorService">
    • Cambie la línea 17 a <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Cambie la línea 22 a <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
  • Para proyectos de Visual Basic:

    • Cambie la línea 14 a <service name="GettingStartedLib.GettingStartedLib.CalculatorService">
    • Cambie la línea 17 a <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • Cambie la línea 22 a <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">

Compilar el código

Compile la solución para comprobar que no hay ningún error de compilación. Si usa Visual Studio, en el menú Compilar, haga clic en Compilar solución (o presione CTRL+Shift+B).

Pasos siguientes

En este tutorial, ha aprendido a:

  • Agregue código para Implementar el contrato de servicio WCF.
  • Compile la solución.

Pase al tutorial siguiente para obtener información sobre cómo ejecutar el servicio WCF.