Merhaba arkadaşlar,
Bu makalemde sizlere C#.Net 2.0 ile adım adım Windows Service oluşturmayı anlatacağım. Zor gibi görünen bu konunun ne kadar kolay olduğunu göreceksiniz.
İsterseniz başlayalım;
Adım 1: Visual Studio 2005 açılır ve File / New Project denir. Ardından Windows Service seçilir ve OK denir.
2-Karşınıza şu şekilde bir ekran gelecektir.
3- "click here to switch to code view" diyerek kodlamaya geçelim. Gördüğünüz gibi karşımıza OnStart ve OnStop adında iki tane protected metod geldi. OnStart olayı service çalışmaya başladığı anda tetiklenir. OnStop ise service durduğunda tetiklenir.
4- Şimdi basit bir örnek yapalım.
protected override void OnStart(
string[] args)
{ FileStream fs = new FileStream(@"c:\temp\mustafakocer.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter m_streamWriter = new StreamWriter(fs); m_streamWriter.BaseStream.Seek(0, SeekOrigin.End); m_streamWriter.WriteLine("Servis başlama zamanı: \n" + DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToShortTimeString()); m_streamWriter.Flush(); m_streamWriter.Close();
_timer.Change(0, 10000);
}
protected override void OnStop()
{ FileStream fs = new FileStream(@"c:\temp\mustafakocer.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter m_streamWriter = new StreamWriter(fs); m_streamWriter.BaseStream.Seek(0, SeekOrigin.End); m_streamWriter.WriteLine(" Servis Durma zamanı: \n" + DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToShortTimeString()); m_streamWriter.WriteLine(" *-------------* \n"); m_streamWriter.Flush(); m_streamWriter.Close();
}
Aşağıdaki kodu da constructor bölümüne ekleyerek servisin belli aralıklarla tetiklenmesini sağlayabilirsiniz
Timer _timer;public Service1(){ _timer = new Timer(new TimerCallback(OnNextMinute), null, Timeout.Infinite, Timeout.Infinite); InitializeComponent();
}
Hepinize kolay gelsin.
Mustafa KOÇER
mkocer@dotnetkosesi.com
2 kişi tarafından 3.0 olarak değerlendirildi
- Currently 3/5 Stars.
- 1
- 2
- 3
- 4
- 5