Esercitazione: implementare un contratto di servizio di Windows Communication Foundation
Questa esercitazione descrive la seconda delle cinque attività necessarie per creare un'applicazione Windows Communication Foundation (WCF) di base. Per una panoramica delle esercitazioni, vedere Esercitazione: Introduzione alle applicazioni Windows Communication Foundation.
Il passaggio successivo per la creazione di un'applicazione WCF consiste nell'aggiungere codice per implementare l'interfaccia del servizio WCF creata nel passaggio precedente. In questo passaggio viene creata una classe denominata CalculatorService
che implementa l'interfaccia definita dall'utente ICalculator
. Ogni metodo nel codice seguente chiama un'operazione della calcolatrice e scrive testo nella console per testarlo.
In questa esercitazione apprenderai a:
- Aggiungere il codice per implementare il contratto di servizio WCF.
- Compilare la soluzione.
Aggiungere il codice per implementare il contratto di servizio WCF
In GettingStartedLib aprire il file Service1.cs o il file Service1.vb e sostituirne il codice con quello seguente:
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
Modificare il file app.config
Modificare App.config in GettingStartedLib per rispecchiare le modifiche apportate al codice.
Per Visual C# (progetti):
- Modificare la riga 14 in
<service name="GettingStartedLib.CalculatorService">
- Modificare la riga 17 in
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Modificare la riga 22 in
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
- Modificare la riga 14 in
Per i progetti di Visual Basic:
- Modificare la riga 14 in
<service name="GettingStartedLib.GettingStartedLib.CalculatorService">
- Modificare la riga 17 in
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Modificare la riga 22 in
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">
- Modificare la riga 14 in
Compilare il codice
Compilare la soluzione per verificare che non siano presenti errori di compilazione. Se si usa Visual Studio, nel menu Compila selezione Compila soluzione (oppure premere CTRL+MAIUSC+B).
Passaggi successivi
Questa esercitazione ha descritto come:
- Aggiungere il codice per implementare il contratto di servizio WCF.
- Compilare la soluzione.
Passare all'esercitazione successiva per informazioni su come eseguire il servizio WCF.