Bagikan melalui


Tutorial: Membuat klien Windows Communication Foundation

Tutorial ini menjelaskan tugas pertama 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.

Setelah membuat dan mengonfigurasi proksi Windows Communication Foundation (WCF), Anda membuat instans klien dan mengompilasi aplikasi klien. Anda kemudian menggunakannya untuk berkomunikasi dengan layanan WCF.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Tambahkan kode untuk menggunakan klien WCF.
  • Uji klien WCF.

Menambahkan kode untuk menggunakan klien WCF

Kode klien melakukan langkah-langkah berikut:

  • Membuat instans klien WCF.
  • Memanggil operasi layanan dari proksi yang dihasilkan.
  • Menutup klien setelah panggilan operasi selesai.

Buka file Program.cs atau Module1.vb dari proyek GettingStartedClient dan ganti kodenya dengan kode berikut:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GettingStartedClient.ServiceReference1;

namespace GettingStartedClient
{
    class Program
    {
        static void Main(string[] args)
        {
            //Step 1: Create an instance of the WCF proxy.
            CalculatorClient client = new CalculatorClient();

            // Step 2: Call the service operations.
            // Call the Add service operation.
            double value1 = 100.00D;
            double value2 = 15.99D;
            double result = client.Add(value1, value2);
            Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

            // Call the Subtract service operation.
            value1 = 145.00D;
            value2 = 76.54D;
            result = client.Subtract(value1, value2);
            Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);

            // Call the Multiply service operation.
            value1 = 9.00D;
            value2 = 81.25D;
            result = client.Multiply(value1, value2);
            Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);

            // Call the Divide service operation.
            value1 = 22.00D;
            value2 = 7.00D;
            result = client.Divide(value1, value2);
            Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);

            // Step 3: Close the client to gracefully close the connection and clean up resources.
            Console.WriteLine("\nPress <Enter> to terminate the client.");
            Console.ReadLine();
            client.Close();
        }
    }
}
Imports System.Collections.Generic
Imports System.Text
Imports System.ServiceModel
Imports GettingStartedClient.ServiceReference1

Module Module1

    Sub Main()
        ' Step 1: Create an instance of the WCF proxy.
        Dim Client As New CalculatorClient()

        ' Step 2: Call the service operations.
        ' Call the Add service operation.
        Dim value1 As Double = 100D
        Dim value2 As Double = 15.99D
        Dim result As Double = Client.Add(value1, value2)
        Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result)

        ' Call the Subtract service operation.
        value1 = 145D
        value2 = 76.54D
        result = Client.Subtract(value1, value2)
        Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result)

        ' Call the Multiply service operation.
        value1 = 9D
        value2 = 81.25D
        result = Client.Multiply(value1, value2)
        Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result)

        ' Call the Divide service operation.
        value1 = 22D
        value2 = 7D
        result = Client.Divide(value1, value2)
        Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result)

        ' Step 3: Close the client to gracefully close the connection and clean up resources.
        Console.WriteLine()
        Console.WriteLine("Press <Enter> to terminate the client.")
        Console.ReadLine()
        Client.Close()

    End Sub

End Module

Perhatikan pernyataan using (untuk Visual C#) atau Imports (untuk Visual Basic) yang mengimpor GettingStartedClient.ServiceReference1. Pernyataan ini mengimpor kode yang Visual Studio dihasilkan dengan fungsi Tambahkan Referensi Layanan. Kode ini membuat instans proksi WCF dan memanggil setiap operasi layanan yang diekspos layanan kalkulator. Kemudian menutup proksi dan mengakhiri program.

Men guji klien WCF

Menguji aplikasi dari Visual Studio

  1. Simpan dan bangun solusinya.

  2. Pilih folder GettingStartedClient, lalu pilih Atur sebagai Proyek Startup dari menu pintasan.

  3. Dari Proyek Startup, pilih GettingStartedClient dari daftar drop-down, lalu pilih Jalankan atau tekan F5.

Menguji aplikasi dari perintah

  1. Buka perintah sebagai administrator, lalu navigasikan ke direktori solusi Visual Studio Anda.

  2. Untuk memulai layanan: Masukkan GettingStartedHost\bin\Debug\GettingStartedHost.exe.

  3. Untuk memulai klien: Buka prompt perintah lain, navigasikan ke direktori solusi Visual Studio Anda, lalu masukkan GettingStartedClient\bin\Debug\GettingStartedClient.exe.

    GettingStartedHost.exe menghasilkan output berikut:

    The service is ready.
    Press <Enter> to terminate the service.
    
    Received Add(100,15.99)
    Return: 115.99
    Received Subtract(145,76.54)
    Return: 68.46
    Received Multiply(9,81.25)
    Return: 731.25
    Received Divide(22,7)
    Return: 3.14285714285714
    

    GettingStartedClient.exe menghasilkan output berikut:

    Add(100,15.99) = 115.99
    Subtract(145,76.54) = 68.46
    Multiply(9,81.25) = 731.25
    Divide(22,7) = 3.14285714285714
    
    Press <Enter> to terminate the client.
    

Langkah berikutnya

Anda sekarang telah menyelesaikan semua tugas dalam tutorial memulai WCF. Dalam tutorial ini, Anda mempelajari cara:

Dalam tutorial ini, Anda akan mempelajari cara:

  • Tambahkan kode untuk menggunakan klien WCF.
  • Uji klien WCF.

Jika Anda mengalami masalah atau kesalahan dalam salah satu langkah, ikuti langkah-langkah dalam artikel pemecahan masalah untuk memperbaikinya.