Tutorial: Implementar um contrato de serviço do Windows Communication Foundation
Este tutorial descreve a segunda de cinco tarefas necessárias para criar um aplicativo básico do Windows Communication Foundation (WCF). Para obter uma visão geral dos tutoriais, consulte Tutorial: Introdução aos aplicativos do Windows Communication Foundation.
A próxima etapa para criar um aplicativo WCF é adicionar código para implementar a interface de serviço WCF que você criou na etapa anterior. Nesta etapa, você cria uma classe chamada CalculatorService
que implementa a interface definida ICalculator
pelo usuário. Cada método no código a seguir chama uma operação de calculadora e grava texto no console para testá-lo.
Neste tutorial, irá aprender a:
- Adicione código para implementar o contrato de serviço WCF.
- Compile a solução.
Adicionar código para implementar o contrato de serviço WCF
Em GettingStartedLib, abra o arquivo Service1.cs ou Service1.vb e substitua seu código pelo seguinte código:
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
Editar App.config
Edite App.config em GettingStartedLib para refletir as alterações feitas no código.
Para projetos Visual C#:
- Altere a linha 14 para
<service name="GettingStartedLib.CalculatorService">
- Altere a linha 17 para
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Altere a linha 22 para
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
- Altere a linha 14 para
Para projetos Visual Basic:
- Altere a linha 14 para
<service name="GettingStartedLib.GettingStartedLib.CalculatorService">
- Altere a linha 17 para
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Altere a linha 22 para
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">
- Altere a linha 14 para
Compilar o código
Crie a solução para verificar se não há erros de compilação. Se você estiver usando o Visual Studio, no menu Compilar, selecione Compilar Solução (ou pressione Ctrl+Shift+B).
Próximos passos
Neste tutorial, ficou a saber como:
- Adicione código para implementar o contrato de serviço WCF.
- Compile a solução.
Avance para o próximo tutorial para aprender a executar o serviço WCF.