Herkese merhaba bu yazıda servis kullanımından bahsetmeye çalışacağım. İlk öncelikle servis dediğim olay alt planda çalışır ve bir çok işini bize hissettirmeden gerçekleştirir ve windows’un yavaş olmasının sebebi alt planda çok fazla servis çalıştırmasıdır. Servisler bize görsel bir arayüz sunmazlar arka planda kendi kendilerine çalışırlar ama bir servis ile başka bir programı çalıştırmak mümkündür. Misal bir program yazdınız ve bu programın 1 saatte bir kullanıcıya bazı hatırlatmalar yapmasını istiyosunuz, bu hatırlatma işlemi için servis kullanılabilir arka planda sürekli çalışarak ve süre doluncada programı çalıştırırsınız. Servis programı çalıştırdı da ben servis ile program arası haberleşmek istersem ne yapabilirim ? o zamanda benim kullandığım basit ama işe yarayan bir yöntem var txt uzantılı bir dosya aracılığı ile haberleşebilinir. Servis buradan okur veriyi ve gerekli işlemleri yapar. Şimdi hemen servis oluşturmaya bakalım.
Bu şekilde serivisimizi oluşturuyoruz. Gelen ekranda sağ tıklayıp add installer yapıyoruz ve installer’ı eklemiş olduk. Bu kısımda bir kaç ufak ayar var.
Yukarıda gösterilen ayarı yapmazsak servisi kuracağımız zaman bizden şifre kullanıcı adı vs isteyecektir bunları istememesi için bu ayarı yapıyoruz, diğer elemana tıklayarak da servis adı vs gibi ayarlar yapılabilri. Daha sonra F7 tuşuna basarak kod yazacağımız ekrana geliyoruz. Bu ekranda start ve stop fonksiyonları var start fonksiyonu servisimiz başladığı zaman çalışan fonksiyonumuz stop fonksiyonu servisimiz durduğu zaman çalışacak fonksiyonumuz. Şimdi ilk öncelikle servisimizi bilgisayarımıza kuralım bunun için install util adlı programı kullanacağız.
Servisi kurmak;
İlk olarak servisimizi derliyoruz ve derlenen dosyanın uzantısını kaybetmiyoruz. Bize bir uyarı filan verecek ama bizim asıl işimiz oluşan exe dosyasını bilgisayara servis olduğunu tanıtmak. Benim dosya yolum misal C:\Users\Acer\Desktop\blogServis\blogServis\bin\Debug\blogServis.exe şeklinde siz nereye oluşturduysanız oradan uzantıyı elde edin klasör isimlerinde boşluk olmamasına dikkat edelim.
Şimdi ikinci adımda install util dediğimiz program nerede ona bakalım. O programda benim bilgisayarımda C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe şeklinde ve tahminim sizin install util programınızda bu uzantıda biyerlerdedir şimdi bu uzantıları elde ettikten sonra komut satırını açıyoruz ama yönetici olarak bu çok önemli aksi halde hata alacaksınız.
Daha sonra komut ekranına bu dizinleri yazıyoruz ve bir hata yapmadıysanız servisiniz kuruluyor.
Servisimize komut satırına services.msc yazarak ya da hizmetler diye aratarak ulaşabilirsiniz verdiğini servis adı ile gözükecektir.
Servisimiz geldi sağ tıklayıp başlatabiliriz ya da servis ayarlarını yaptığımız yerden otomatik, boot anında vs gibi çalıştırma seçeneklerinide seçebiliriz. Artık servisimiz otomatik olarak çalışmaya başladı. Misal şimdi basit anlamda servisin içine basit bir kod yazalım kod 10 saniyede bir, bir txt dosyasına “ibrahim ÖZÇELİK” yazsın. Bunun için bir thread yazalım servisimize thread 10 saniyede bir bilgiyi yazsın.
protected override void OnStart(string[] args) { Thread tiret2 = new Thread(yaz);//thread oluştur tiret2.Start(); } public void yaz()//çalışacak fonksiyon { while(true) { StreamWriter servisGeriDonen = new StreamWriter(@"C:\Users\Acer\Desktop\servisGeriDonen.txt");//txt yazmak için servisGeriDonen.WriteLine("İbrahim ÖZÇELİK"); servisGeriDonen.Close(); Thread.Sleep(10000);//10 saniye bekle } }
Burada ki basit kod ile servisimiz 10 saniyede bir txt dosyasına verilen bilgiyi yazacaktır eğer servisi durdurmazsanız sürekli yazacaktır.
Servis kurulumundan bahsettik, herkese iyi çalışmalar.