Tutorial .NET Remoting Part 3 - Project CalculatorServer

Posted by Kamarudin • 2 minute read • Comments

Setelah selesai dengan project CalculatorLib akan 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 CalculatorServer juga akan menjadi host untuk class remote yaitu classs Calculator.

Aktifkan kembali solution Calculatornya dimana didalamnya sudah ada project CalculatorLib

kita akan menambahkan project CalculatorServer masih di solution yang sama

  1. Klik kanan Solution Calculator -> Add -> New Project

  2. Pada dialog Add New Project aktifkan pilihan Visual C# kemudian pada pilihan Templates pilih Console Application

    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

Menambahkan Class Calculator

Class Calculator adalah class yang akan mengimplementasikan semua method abstract dari interface ICalculator yang sudah kita buat pada project sebelumnya (CalculatorLib).

Selain itu class Calculator juga harus merupakan turunan dari class MarshalByRefObject agar semua method class Calculator bisa diakses secara remote.

  1. Klik kanan project CalculatorServer -> Add -> Class…

  2. Pada isian Name diisi Calculator

Setelah itu akan tampil editor code class Calculator

Jangan lupa untuk menambahkan access modifier public.

Sebelum kita bisa melengkapi kode dari class Calculator 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.

  1. Klik kanan folder References -> Add Reference…

  2. Aktifkan tab Projects kemudian pilih project CalculatorLib

  3. Jika langkah sebelumnya berhasil akan ketambahan 1 buah node dengan nama CalculatorLib pada folder References

Selanjutnya kita mulai melengkapi kode dari class Calculator.

Sampai disini kita sudah bisa mencoba untuk menjalankan program dengan menekan tombol F5 (Start Debugging), tapi sebelumnya project CalculatorServer harus diset sebagai StartUp Project

Apa yang terjadi setelah kita menekan tombol F5 (Start Debugging) ??? Masih error bukan ? :grin:

Error ini terjadi karena class Calculator mengimplementasikan interface ICalculator sedangkan method-method abstractnya (Penambahan, Pengurangan, Perkalian dan Pembagian) belum kita definisikan 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 method abstract dari interface ICalculator akan ditambahkan.

Setelah itu kita tinggal melengkapi kode untuk masing-masing method diatas.

Sampai disini class Calculator sudah selesai dan kita sudah bisa mencoba lagi untuk menekan tombol F5 (Start Debugging), jika tidak terjadi error berarti kita sudah siap untuk lanjut ketahap berikutnya.

Menjadikan Project CalculatorServer sebagai Host untuk Menghandle Remote Object

Masih di project CalculatorServer kita akan melengkapi kode untuk method Main yang ada pada class Program

Karena pada class ini akan mengakses class-class yang berhubungan dengan fitur .NET Remoting maka kita harus menambahkan terlebih dulu referensi library .NET Remoting.

  1. Klik kanan folder References -> Add Reference…

  2. Aktifkan tab .NET kemudian pilih System.Runtime.Remoting

  3. Jika langkah sebelumnya berhasil akan ketambahan 1 buah node dengan nama System.Runtime.Remoting pada folder References

Berikut kode lengkap class Program

Sampai disini lengkap sudah project CalculatorServer kita dan sudah bisa dicoba dengan menekan tombol F5 (Start Debugging), jika tidak terjadi error berarti kita sudah siap untuk menyelesaikan project terakhir yaitu project CalculatorKlien

Setelah itu akan kita lanjutkan penerapan fitur .NET Remoting pada pembuatan aplikasi database dengan arsitektur 3-tier, insya Allah :)

Comments