Makale 8: Bir Sunucu Uygulamasının Derlenmesi – Bölüm 3

Remoting Server’ın Çalıştırılması

1.     Start menüsü içerisinde bulunan “Run” kısayoluna tıklayın ve karşınıza çıkan ekrana “cmd” yazarak OK butonuna tıklayın.

2.     Açılan ekranda command prompt’a cd command’ını kullanarak MyFirstRemotingServer project’inizin bulunduğu klasöre, oradan da sırasıyla “bin” ve “Debug” klasörlerine girin.

3.     İlgili klasörlere girdikten sonra command prompt’a “MyFirstRemotingServer.exe” yazarak ENTER tuşuna basın.

4.     Bilgisayarınızda herhangi bir firewall uygulaması yüklü olması durumunda karşınıza “MyFirstRemotingServer” uygulamasının internet ve ya network üzerinden bağlantı kabul etmesinin block’landığına dair bir mesaj gelebilir.

5. Bu durumda uygulamanın unblock edilmesi gerekir.

6. Uygulamanın düzgün çalışması durumunda command prompt’ta “Remoting server is running… Press ENTER to exit.” yazısı belirir.

Bu yazıyı gördüğünüzde, yazmış olduğunuz ilk Remoting server’ı başarıyla çalışıyor demektir.

NOT

MyRemotableType object’inin ilk olarak MyFirstRemotableType project’i içerisinde interface olarak yazılmış olmasının amacı Remoting client’ın bu interface’i kullanacak olmasıdır. Class ise MyFirstRemotableServer project’i içerisinde geliştirilmiştir. Böylece Remoting client sürekli olarak interface’i kullanacaktır ve class içerisindeki programmatic değişiklikler sebebiyle, her seferinde Remoting client’larının tamamının yeniden deploy edilmesine gerek kalmayacaktır. Herhangi bir güncelleme durumunda yalnızca Remoting server’ın yeniden deploy edilmesi güncelleştirmeyi sağlayacaktır.

Özet

  • Remotable Type’lar Marshal-by-value ve Marshal-by-reference olarak iki şekilde oluşturulabilirler.
  • Channel, Remoting server’ı ve Remoting client’ının aralarındaki haberleşme için kullanılan protokole verilen genel isimdir.
  • .NET Framework içerisinde HTTP, TCP ve IPC olarak üç adet channel bulunmaktadır. Gerekli görüldüğü durumlarda System.Runtime.Remoting.Channels.IChannelReceiver ve System.Runtime.Remoting.Channels.IChannelSender interface’leri implement edilerek custom channel’lar hazırlanabilir.
  • HTTP channel’ı maksimum interoperability’ye sahiptir. TCP channel’ı maksimum efficiency’ye sahiptir. IPC channel’ı network üzerinden iletişim sağlamadığı için yalnızca aynı fiziksel bilgisayar üzerinde bulunan application domain’leri üzerindeki Remoting server ve client’ları arasındaki iletişim için kullanılabilir.
  • Formatter, channel üzerinden geçecek olan mesajları ilgili formatter’ın yapısına göre şekillendiren yapıdır.
  • .NET Framework içerisinde SoapFormatter ve BinaryFormatter tipinde iki adet formatter bulunmaktadır. Gerekli görüldüğü durumlarda System.Runtime.Remoting.Messaging.IRemotingFormatter interface’ini implement ederek custom formatter’lar hazırlanabilir.
  • Remoting server’ları ve Remoting client’ları hem configuration file kullanılarak hem de programmatic olarak configure edilebilmektedir.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *