Tutorial: Membuat klien Windows Communication Foundation
Tutorial ini menjelaskan keempat 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.
Tugas berikutnya untuk membuat aplikasi WCF adalah membuat klien dengan mengambil metadata dari layanan WCF. Anda menggunakan Visual Studio untuk menambahkan referensi layanan, yang mendapatkan metadata dari titik akhir MEX layanan. Visual Studio kemudian menghasilkan file kode sumber terkelola untuk proksi klien dalam bahasa yang Anda pilih. Ini juga membuat file konfigurasi klien (App.config). File ini memungkinkan aplikasi klien untuk terhubung ke layanan di titik akhir.
Catatan
Jika Anda memanggil layanan WCF dari proyek pustaka kelas di Visual Studio, gunakan fitur Tambahkan Referensi Layanan untuk membuat proksi dan file konfigurasi terkait secara otomatis. Namun, karena proyek pustaka kelas tidak menggunakan file konfigurasi ini, Anda perlu menambahkan pengaturan dalam file konfigurasi yang dihasilkan ke file App.config untuk file yang dapat dieksekusi yang memanggil pustaka kelas.
Catatan
Sebagai alternatif, gunakan alat Utilitas Metadata ServiceModel alih-alih Visual Studio untuk menghasilkan kelas proksi dan file konfigurasi.
Aplikasi klien menggunakan kelas proksi yang dihasilkan untuk berkomunikasi dengan layanan. Prosedur ini dijelaskan dalam Tutorial: Menggunakan klien.
Dalam tutorial ini, Anda akan mempelajari cara:
- Membuat dan mengonfigurasi proyek aplikasi konsol untuk klien WCF.
- Tambahkan referensi layanan ke layanan WCF untuk menghasilkan kelas proksi dan file konfigurasi.
Membuat klien Windows Communication Foundation
Membuat proyek aplikasi konsol di Visual Studio:
Dari menu File, pilih Buka>Proyek/Solusi dan telusuri ke solusi GettingStarted yang sebelumnya Anda buat (GettingStarted.sln). Pilih Buka.
Dari menu Tampilan, pilih Penjelajah Solusi.
Di jendela Penjelajah Solusi, pilih solusi GettingStarted (node atas), lalu pilih Tambahkan>Project Baru dari menu pintasan.
Di jendela Tambahkan Project Baru, di sisi kiri, pilih kategori Windows Desktop di bawah Visual C# atau Visual Basic.
Pilih templat Aplikasi Konsol (.NET Framework), dan masukkan GettingStartedClient untuk Nama. Pilih OK.
Tambahkan referensi dalam proyek GettingStartedClient ke rakitan System.ServiceModel:
Di jendela Penjelajah Solusi, pilih folder Referensi di bawah proyek GettingStartedClient, lalu pilih Tambahkan Referensi dari menu pintasan.
Di jendela Tambahkan Referensi, di bawah Rakitan di sisi kiri jendela, pilih Kerangka Kerja.
Temukan dan pilih System.ServiceModel, lalu pilih OK.
Simpan solusi dengan memilihFile>Simpan Semua.
Tambahkan referensi layanan ke layanan kalkulator:
Di jendela Penjelajah Solusi, pilih folder Referensi di bawah proyek GettingStartedClient, lalu pilih Tambahkan Referensi Layanan dari menu pintasan.
Di jendela Tambahkan Referensi Layanan, pilih Temukan.
Layanan CalculatorService dimulai dan Visual Studio menampilkannya dalam kotak Layanan.
Pilih CalculatorService untuk memperluasnya dan menampilkan kontrak layanan yang diterapkan oleh layanan. Biarkan Namespace Layanan default dan pilih OK.
Visual Studio menambahkan item baru di bawah folder Layanan Tersambung di proyek GettingStartedClient.
Alat Utilitas Metadata ServiceModel
Contoh berikut menunjukkan cara menggunakan alat Utilitas Metadata ServiceModel (Svcutil.exe) secara opsional untuk menghasilkan file kelas proksi. Alat ini menghasilkan file kelas proksi dan file App.config. Contoh berikut menunjukkan cara menghasilkan proksi di C# dan Visual Basic, masing-masing:
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/GettingStarted/CalculatorService
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/GettingStarted/CalculatorService
Konfigurasi klien
Setelah Anda membuat klien, Visual Studio membuat file konfigurasi App.config dalam proyek GettingStartedClient, yang seharusnya mirip dengan contoh berikut:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<!-- specifies the version of WCF to use-->
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<system.serviceModel>
<bindings>
<!-- Uses wsHttpBinding-->
<wsHttpBinding>
<binding name="WSHttpBinding_ICalculator" />
</wsHttpBinding>
</bindings>
<client>
<!-- specifies the endpoint to use when calling the service -->
<endpoint address="http://localhost:8000/GettingStarted/CalculatorService"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
contract="ServiceReference1.ICalculator" name="WSHttpBinding_ICalculator">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
Di bawah bagian <system.serviceModel>, perhatikan elemen <titik akhir>. Elemen <titik akhir> menentukan titik akhir yang digunakan klien untuk mengakses layanan sebagai berikut:
- Alamat:
http://localhost:8000/GettingStarted/CalculatorService
. Menentukan alamat titik akhir. - Kontrak layanan:
ServiceReference1.ICalculator
. Kontrak layanan menangani komunikasi antara klien WCF dan layanan. Visual Studio menghasilkan kontrak ini saat Anda menggunakan fungsi Tambahkan Referensi Layanan. Ini pada dasarnya adalah salinan kontrak yang Anda tentukan dalam proyek GettingStartedLib. - Pengikatan: WSHttpBinding. Pengikatan menentukan HTTP sebagai transportasi, keamanan interoperabilitas, dan detail konfigurasi lainnya.
Langkah berikutnya
Dalam tutorial ini, Anda mempelajari cara:
- Membuat dan mengonfigurasi proyek aplikasi konsol untuk klien WCF.
- Tambahkan referensi layanan ke layanan WCF untuk menghasilkan kelas proksi dan file konfigurasi untuk aplikasi klien.
Lanjutkan ke tutorial berikutnya untuk mempelajari menggunakan klien yang dihasilkan.