Tutoriel : implémenter un contrat de service Windows Communication Foundation
Ce tutoriel décrit la deuxième des cinq premières tâches requises pour créer une application Windows Communication Foundation (WCF) de base. Pour obtenir une vue d’ensemble des tutoriels, consultez Tutoriel : Prise en main des applications Windows Communication Foundation.
L’étape suivante de la création d’une application WCF consiste à ajouter du code pour implémenter l’interface de service WCF que vous avez créée à l’étape précédente. Dans cette étape, vous créez une classe nommée CalculatorService
qui implémente l'interface ICalculator
définie par l'utilisateur. Chaque méthode du code suivant appelle une opération de calculatrice et écrit du texte dans la console pour le tester.
Dans ce tutoriel, vous allez apprendre à :
- Ajouter du code pour implémenter le contrat de service WCF.
- Générez la solution.
Ajouter du code pour implémenter le contrat de service WCF
Dans GettingStartedLib, ouvrez le fichier Service1.cs ou Service1.vb et remplacez son code par le code suivant :
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
Modification du fichier App.config
Modifiez App.config dans GettingStartedLib pour refléter les modifications que vous avez apportées au code.
Pour des projets Visual C# :
- Remplacez la ligne 14 par
<service name="GettingStartedLib.CalculatorService">
- Remplacez la ligne 17 par
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Remplacez la ligne 22 par
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
- Remplacez la ligne 14 par
Pour les projets Visual Basic :
- Remplacez la ligne 14 par
<service name="GettingStartedLib.GettingStartedLib.CalculatorService">
- Remplacez la ligne 17 par
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Remplacez la ligne 22 par
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">
- Remplacez la ligne 14 par
Compiler le code
Générez la solution pour vérifier qu’il n’y a aucune erreur de compilation. Si vous utilisez Visual Studio, dans le menu Générer, cliquez sur Générer la solution (ou appuyez sur Ctrl+Maj+B).
Étapes suivantes
Dans ce didacticiel, vous avez appris à :
- Ajouter du code pour implémenter le contrat de service WCF.
- Générez la solution.
Passez au tutoriel suivant pour découvrir comment mettre à jour les données associées.