Tutorial: Menerapkan kontrak layanan WCF
Tutorial ini menjelaskan tugas kedua dari lima tugas yang diperlukan untuk membuat aplikasi dasar Windows Communication Foundation (WCF). Untuk gambaran umum tutorial, lihat Tutorial: Mulai menggunakan aplikasi Windows Communication Foundation.
Langkah selanjutnya untuk membuat aplikasi WCF adalah menambahkan kode untuk mengimplementasikan antarmuka layanan WCF yang Anda buat di langkah sebelumnya. Dalam langkah ini, Anda membuat kelas bernama CalculatorService
yang menerapkan antarmuka ICalculator
yang ditentukan pengguna. Setiap metode dalam kode berikut memanggil operasi kalkulator dan menulis teks ke konsol untuk mengujinya.
Dalam tutorial ini, Anda akan mempelajari cara:
- Tambahkan kode untuk menerapkan kontrak layanan WCF.
- Bangun solusinya.
Menambahkan kode untuk menerapkan kode layanan WCF
Di GettingStartedLib, buka file Service1.cs atau Service1.vb dan ganti kodenya dengan kode berikut:
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
Mengedit App.config
Edit App.config di GettingStartedLib untuk mencerminkan perubahan yang Anda buat pada kode.
Untuk proyek Visual C#:
- Ubah baris 14 menjadi
<service name="GettingStartedLib.CalculatorService">
- Ubah baris 17 menjadi
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Ubah baris 22 menjadi
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
- Ubah baris 14 menjadi
Untuk proyek Visual Basic:
- Ubah baris 14 menjadi
<service name="GettingStartedLib.GettingStartedLib.CalculatorService">
- Ubah baris 17 menjadi
<add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
- Ubah baris 22 menjadi
<endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">
- Ubah baris 14 menjadi
Mengkompilasi kode
Buat solusi untuk memverifikasi bahwa tidak ada kesalahan kompilasi. Jika Anda menggunakan Visual Studio, pada menu Buat pilih Buat Solusi (atau tekan Ctrl+Shift+B).
Langkah berikutnya
Dalam tutorial ini, Anda mempelajari cara:
- Tambahkan kode untuk menerapkan kontrak layanan WCF.
- Bangun solusinya.
Lanjutkan ke tutorial berikutnya untuk mempelajari cara menjalankan layanan WCF.