Melanjutkan pembahasan postingan sebelumnya yaitu tentang pembuatan web service menggunakan teknologi WCF.
Kita sudah menyelesaikan project pertama yaitu pembuatan project CalculatorLib dan kita lanjutkan dengan pembuatan project CalculatorServer.
Sebagai review CalculatorServer adalah project yang akan mengimplementasikan semua method abstract yang ada pada interface ICalculator (project CalculatorLib selain itu project CalculatorServer juga akan kita hostkan
sehingga bisa menjadi web service. Apa yang dimaksud dengan host
disini, silahkan baca postingan Tutorial WCF Service Bagian #1.
Aktifkan kembali solution Calculator yang di dalamnya sudah ada project CalculatorLib.
Kita akan menambahkan project CalculatorServer masih di solution yang sama
Menambahkan Project CalculatorServer
Klik kanan Solution Calculator -> Add -> New Project
Pada dialog Add New Project aktifkan pilihan Visual C# kemudian pilih Templates Class Library
Pada isian Name isikan CalculatorServer untuk isian Location dibiarkan saja setelah itu klik Ok. Jika langkah sebelumnya berhasil maka pada solution Calculator akan ketambahan 1 project baru yaitu CalculatorServer.
Kemudian hapus class
Class1
Menambahkan Class Calculator
Class Calculator adalah class yang akan mengimplementasikan semua method abstract dari interface ICalculator yang sudah kita buat pada project sebelumnya (CalculatorLib).
Klik kanan project CalculatorServer -> Add -> Class…
Pada isian Name diisi
Calculator
Setelah itu akan tampil editor code class Calculator
Jangan lupa untuk menambahkan access modifier
public
.Sebelum kita melengkapi kode class Calculator di atas, terlebih dulu kita harus menambahkan referensi CalculatorLib yang sudah kita buat pada project sebelumnya, tujuannya adalah agar class Calculator bisa mengakses interface ICalculator dan mengimplementasikan semua method abstractnya.
Klik kanan node References -> Add Reference…
Aktifkan panel Solution kemudian pilih project CalculatorLib
Jika langkah sebelumnya berhasil akan ketambahan 1 buah node dengan nama CalculatorLib pada node References
Selanjutnya kita lengkapi kode class Calculator di atas, seperti di bawah ini.
Sampai disini kita sudah bisa mencoba untuk meng-compile project CalculatorServer dengan cara klik kanan project
CalculatorServer
->Build
Apa yang terjadi ??? Masih error bukan ?
Error ini terjadi karena class Calculator mengimplementasikan interface ICalculator sedangkan method-method abstractnya (Penambahan, Pengurangan, Perkalian dan Pembagian) belum kita definisikan ulang / override di class Calculator.
Mengimplementasikan Method Abastract Interface ICalculator secara Otomatis
Untuk mengatasi error pada langkah sebelumnya kita tinggal klik kanan pada tulisan interface ICalculator ->Implement Interface -> Implement Interface
Kemudian secara otomatis semua implementasi method abstract dari interface ICalculator akan ditambahkan.
Setelah itu kita tinggal melengkapi kode untuk masing-masing method diatas.
Sekarang kita coba lagi untuk meng-compile ulang project CalculatorServer dengan cara klik kanan project CalculatorServer
-> Build
WCF Service Behavior
WCF service behavior digunakan untuk mengatur behavior atau prilaku WCF service ketika menangani request atau permintaan dari klien.
Jika kita mempunyai behavior atau tingkah laku yang baik, otomatis kita juga bisa menjadi orang yang lebih baik, benar atau tidak ? :-D
Begitu juga dengan WCF Service Behavior, dengan attribut ini kita bisa mengatur hal-hal yang berhubungan dengan :
- Concurrency
- Throttling
- Transaction
- Instance Context/Session Management
- Thread Behavior
Untuk informasi yang lebih lengkap tentang WCF Service Behavior, silahkan baca artikel Implementing WCF Service Behaviors dan WCF Concurrency (Single, Multiple, and Reentrant) and Throttling.
Sebagi contoh kita akan mengeset behavior untuk Concurrency
dan Instance Context
dengan model Concurrency = Single dan Instance Context = Per Call via attribute WCF service behavior.
Untuk menggunakan attribute WCF service behavior, tambahkan terlebih dulu referensi System.ServiceModel
Kemudian tambahkan juga di bagian using
Setelah itu revisi class Calculator menjadi seperti berikut :
Yuph sampai disini saja untuk postingan kali ini, insyaAlloh akan kita lanjutkan pada kesempatan berikutnya.
Selamat MENCOBA :)