Självstudie: Implementera ett Windows Communication Foundation-tjänstkontrakt
I den här självstudien beskrivs den andra av fem uppgifter som krävs för att skapa ett grundläggande WCF-program (Windows Communication Foundation). En översikt över självstudierna finns i Självstudie: Kom igång med Windows Communication Foundation-program.
Nästa steg för att skapa ett WCF-program är att lägga till kod för att implementera det WCF-tjänstgränssnitt som du skapade i föregående steg. I det här steget skapar du en klass med namnet CalculatorService
som implementerar det användardefinierade ICalculator
gränssnittet. Varje metod i följande kod anropar en kalkylatoråtgärd och skriver text till konsolen för att testa den.
I den här självstudien lär du dig att:
- Lägg till kod för att implementera WCF-tjänstkontraktet.
- Skapa lösningen.
Lägga till kod för att implementera WCF-tjänstkontraktet
Öppna filen Service1.cs eller Service1.vb i GettingStartedLib och ersätt koden med följande kod:
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
Redigera App.config
Redigera App.config i GettingStartedLib för att återspegla de ändringar du har gjort i koden.
För Visual C#-projekt:
- Ändra rad 14 till
<service name="GettingStartedLib.CalculatorService">
- Ändra rad 17 till
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Ändra rad 22 till
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
- Ändra rad 14 till
För Visual Basic-projekt:
- Ändra rad 14 till
<service name="GettingStartedLib.GettingStartedLib.CalculatorService">
- Ändra rad 17 till
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Ändra rad 22 till
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">
- Ändra rad 14 till
Kompilera koden
Skapa lösningen för att kontrollera att det inte finns några kompileringsfel. Om du använder Visual Studio går du till menyn Skapa och väljer Skapa lösning (eller trycker på Ctrl+Skift+B).
Nästa steg
I den här självstudiekursen lärde du dig att:
- Lägg till kod för att implementera WCF-tjänstkontraktet.
- Skapa lösningen.
Gå vidare till nästa självstudie för att lära dig hur du kör WCF-tjänsten.