Kurz: Implementace kontraktu služby Windows Communication Foundation
Tento kurz popisuje druhou z pěti úloh potřebných k vytvoření základní aplikace WCF (Windows Communication Foundation). Přehled kurzů najdete v tématu Kurz: Začínáme s aplikacemi Windows Communication Foundation.
Dalším krokem pro vytvoření aplikace WCF je přidání kódu pro implementaci rozhraní služby WCF, které jste vytvořili v předchozím kroku. V tomto kroku vytvoříte třídu s názvem CalculatorService
, která implementuje uživatelsky definované ICalculator
rozhraní. Každá metoda v následujícím kódu volá operaci kalkulačky a zapíše text do konzoly, která ji otestuje.
V tomto kurzu se naučíte:
- Přidejte kód pro implementaci kontraktu služby WCF.
- Sestavte řešení.
Přidání kódu pro implementaci kontraktu služby WCF
V gettingStartedLib otevřete soubor Service1.cs nebo Service1.vb a nahraďte jeho kód následujícím kódem:
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
Úprava souboru App.config
Upravte App.config v gettingStartedLib tak, aby odrážel změny provedené v kódu.
Pro projekty Visual C#:
- Změna řádku 14 na
<service name="GettingStartedLib.CalculatorService">
- Změna řádku 17 na
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Změna řádku 22 na
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
- Změna řádku 14 na
Pro projekty Jazyka Visual Basic:
- Změna řádku 14 na
<service name="GettingStartedLib.GettingStartedLib.CalculatorService">
- Změna řádku 17 na
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Změna řádku 22 na
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">
- Změna řádku 14 na
Kompilace kódu
Sestavte řešení, abyste ověřili, že nedošlo k žádným chybám kompilace. Pokud používáte Visual Studio, vyberte v nabídce Sestavení řešení sestavení (nebo stiskněte ctrl+ Shift+B).
Další kroky
V tomto kurzu jste se naučili, jak:
- Přidejte kód pro implementaci kontraktu služby WCF.
- Sestavte řešení.
V dalším kurzu se dozvíte, jak spustit službu WCF.