Home Contact RSS

Makale 7: Bir Sunucu Uygulamasının Derlenmesi – Bölüm 2

Bu işlemler sonrasında New Project ekranı aşağıdaki şekilde görünür:

NOT

Location property’sinde yazmakta olan “C:\Path\to\Your\Project” path’i seçmiÅŸ olduÄŸunuz path’e göre deÄŸiÅŸiklik gösterektir.

1. OK butonuna tıklayın.

2. Karşınıza “Program.cs” isimli bir dosya açık olacak çıkar.

3. Bu dosyanın ismini Solution Explorer penceresi yardımı ile “MyRemotingServer.cs” olarak deÄŸiÅŸtirin.

4. Visual Studio “Program.cs” dosyasının ismini deÄŸiÅŸtirdikten sonra bu dosya içerisindeki “Program” isimli class’ın ismi otomatik olarak “MyRemotingServer” ÅŸeklinde deÄŸiÅŸir. DeÄŸiÅŸmemesi durumunda class’ın ismini “MyRemotingServer” olarak deÄŸiÅŸtirin.

5. Solution Explorer penceresindeki References klasörüne saÄŸ tıklayarak “Add Reference” seçeneÄŸine tıklayın.

6. Karşınıza “Add Reference” penceresi çıkar. Bu pencerede “.NET” tab’ındaki “System.Runtime.Remoting” assembly’sini seçin ve OK butonuna tıklayın.

7. MyRemotingServer.cs dosyası içerisinde aÅŸağıdaki namespace’leri import edin:

MyRemotingServer.cs dosyasına import edilecek namespace’lerin import ediliÅŸleri

using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;

8. MyRemotingServer class’ının access modifier’ını public olarak ayarlayın.

MyRemotingServer class’ının “public” access modifier’ına sahip olarak ayarlanması

public class MyRemotingServer

9. Remoting server’ımızı “exe” dosyası ile aynı klasörde bulunacak olan “MyFirstRemotingServer.exe.config” dosyasını okuyarak kendisini configure etmesi için RemotingConfiguration class’ının Configure method’unu kullanın.

RemotingConfiguration.Configure method’unun kullanımı

RemotingConfiguration.Configure("MyFirstRemotingServer.exe.config", false);

10.              Remoting server’ınızı ENTER tuÅŸuna basıldığında programı sonlandıracak ÅŸekilde ilgili kodu yazın.

Console Application’un ENTER tuÅŸu ile sonlandırılması

Console.WriteLine("Remoting server is running... Press ENTER to exit.");
Console.ReadLine();

11.              Solution Explorer ekranında bulunan project’inizin ismine saÄŸ tıklayarak Add menüsünden “New Item…” seçeneÄŸini seçin.

12.              Açılan “Add New Item” ekranında “Application Configuration File” template’ini seçin ve Name property’sini “MyFirstRemotingServer.exe.config” olarak deÄŸiÅŸtirin.

13.              Add butonuna tıklayın.

14.              “MyFirstRemotingServer.exe.config” isimli dosya otomatik olarak açılacaktır.

15.              Configuration dosyasının içeriÄŸini aÅŸağıdaki ÅŸekilde deÄŸiÅŸtirin. Bu configuration dosyasına göre Remoting server’ı TCP protokolü kullanarak, 4444. port üzerinden ve gerekli formatlamaları yaparken BinaryFormatter kullanacak ÅŸekilde çalışacak ayrıca oluÅŸturmuÅŸ olduÄŸumuz MyRemotableType class’ını host edecektir.

MyFirstRemotingServer.exe.config dosyası içeriği

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.runtime.remoting>
        <application>
            <service>
                <wellknown
                    mode="Singleton"
                    type="MyFirstRemotingServer.MyRemotableType, MyFirstRemotingServer"
                    objectUri="MyRemotableType.rem"
                />
            </service>
            <channels>
                <channel ref="tcp" port="4444">
                    <serverProviders>
                        <formatter ref="binary"/>
                    </serverProviders>
                </channel>
            </channels>
        </application>
    </system.runtime.remoting>
</configuration>

16.              Solution Explorer penceresindeki References klasörüne saÄŸ tıklayarak “Add Reference” seçeneÄŸine tıklayın.

17.              Karşınıza “Add Reference” penceresi çıkar. Bu pencerede “Browse” tab’ını seçerek “MyFirstRemotableType” project’inin bulunduÄŸu klasöre gidin.

18.              Bu klasör içerisinde de sırasıyla “bin” ve “Debug” klasörlerine girerek “MyFirstRemotableType.dll” isimli assembly’yi seçin ve OK butonuna tıklayın.

19.              Solution Explorer ekranında bulunan project’inizin ismine saÄŸ tıklayarak Add menüsünden “New Item…” seçeneÄŸini seçin.

20.              Açılan “Add New Item” ekranında “Application Configuration File” template’ini seçin ve Name property’sini “MyRemotableType.cs” olarak deÄŸiÅŸtirin.

21.              Add butonuna tıklayın.

22.              “MyRemotableType.cs” isimli dosya açık olacak gelir.

23.              Class’ı ImyRemotableType interface’ini implement edecek ÅŸekilde yazın.

MyRemotableType.cs dosyası içeriği

using System;
using MyFirstRemotableType;
namespace MyFirstRemotingServer
{
    public class MyRemotableType : MarshalByRefObject, IMyRemotableType
    {
        int requestCount;

        public MyRemotableType()
        {
            this.requestCount = 0;
        }

        public DateTime GetServerDateTime()
        {
            requestCount++;
            return System.DateTime.Now;
        }

        public int RequestCount()
        {
            return requestCount;
        }
    }
}

24.  Build menüsünü kullanarak project’i build edin.

25.  Bu iÅŸlem sonrasında Visual Studio’nun sol alt köşesinde “Build succeeded” yazısı belirir.

26.  “Add Project” ekranında project’in Location özelliÄŸine atadığınız path’e gidin.

27.  Bu path içerisinde bulunan “MyFirstRemotingServer.exe.config” isimli dosyayı yine aynı klasörde bulunan “bin” ve bu klasörün altında bulunan “Debug” klasörünün içerisine, yani “MyFirstRemotingServer.exe” dosyasının bulunduÄŸu klasöre kopyalayın.

Bir sonraki makalede diğer adımlar anlatılacaktır.

Leave a Comment