Tutorial: Implementieren eines Windows Communication Foundation-Dienstvertrags
In diesem Tutorial wird die zweite von fünf Aufgaben beschrieben, die zum Erstellen einer einfachen WCF-Anwendung (Windows Communication Foundation) erforderlich sind. Eine Übersicht über die Tutorials finden Sie unter Tutorial: Erste Schritte mit Windows Communication Foundation-Anwendungen.
Der nächste Schritt zum Erstellen einer WCF-Anwendung besteht darin, Code hinzuzufügen, um die WCF-Dienstschnittstelle zu implementieren, die Sie im vorherigen Schritt erstellt haben. In diesem Schritt erstellen Sie eine Klasse namens CalculatorService
, die die benutzerdefinierte ICalculator
-Schnittstelle implementiert. Jede Methode im folgenden Code ruft einen Calculator-Vorgang auf und schreibt Text in die Konsole, um ihn zu testen.
In diesem Tutorial lernen Sie Folgendes:
- Fügen Sie Code hinzu, um den WCF-Dienstvertrag zu implementieren.
- Erstellen Sie die Projektmappe.
Fügen Sie Code hinzu, um den WCF-Dienstvertrag zu implementieren
Öffnen Sie in GettingStartedLib die Datei Service1.cs oder Service1.vb, und ersetzen Sie ihren Code durch den folgenden Code:
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
Bearbeiten der Datei „App.config“
Bearbeiten Sie App.config in GettingStartedLib, um die Änderungen widerzuspiegeln, die Sie am Code vorgenommen haben.
Für Visual C#-Projekte:
- Ändern Sie Zeile 14 in
<service name="GettingStartedLib.CalculatorService">
- Ändern Sie Zeile 17 in
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Ändern Sie Zeile 22 in
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
- Ändern Sie Zeile 14 in
Für Visual Basic-Projekte:
- Ändern Sie Zeile 14 in
<service name="GettingStartedLib.GettingStartedLib.CalculatorService">
- Ändern Sie Zeile 17 in
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Ändern Sie Zeile 22 in
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">
- Ändern Sie Zeile 14 in
Kompilieren des Codes
Erstellen Sie die Lösung, um sicherzustellen, dass keine Kompilierungsfehler vorliegen. Wenn Sie Visual Studio verwenden, klicken Sie im Menü Erstellen auf Lösung erstellen (oder drücken Sie Strg+Umschalttaste+B).
Nächste Schritte
In diesem Tutorial haben Sie Folgendes gelernt:
- Fügen Sie Code hinzu, um den WCF-Dienstvertrag zu implementieren.
- Erstellen Sie die Projektmappe.
Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie den WCF-Client ausführen.