WINDOWS SERVICE SETUP PROJECT
İlk olarak visual studio 2010 programımızda yeni bir proje
acalım.
Gelen ekrandan .Net Framework 4 secerek Window sekmesi
altındaki Windows
Service i secelım.Name , Location ve Solution bilgileriini doldurduktan sonra OK diyerek proje
dosyamızı acalım.
NOT : .Net FrameWork 4 u secmemızın nedeni Crm 2011 de kod yazmamızdır.
İlk olarak hem windows service için hem de crm 2011 için
gerekli olan kutuphaneleri projemıze referans edelim.
Windows Service için gerekli dll ler:
.Net sekmesi altında System.Configuration.Install ve System.ServiceProcess
CRM 2011 için gerekli dll ler:
.Net sekemsi altında System.Runtime.Serilization ,System.ServiceModel
Browse altından sdk nın içerisindeki microsoft.crm.sdk.proxy , microsoft.xrm.sdk
Daha sonra Solution Explorer dan Service1.cs dosyamızı
acalım.Karsımıza Service1.cs[Design] ekranı
gelecektir.
Bu ekrandan to code wiew tıklanarak
service.cs (kod sayfası) ye geçilmiş olunur.
Bu class dosyası yukarıda da
goruldugu gibi ServiceBase sınıfından kalıtım almıstır.
OnStart ve
OnStop olmak uzere 2 metodu vardır.
OnStart servis calısmaya
basladıgında calısır.
OnStop işlem bittiğinde calısır.
Şimdi biz 1 saate bir email
atacak programımızı yazmaya baslayalım.Bunun için kodumuzu biraz degiştirecegiz.
Projemıze timer ekleyerek
işlemimizin 1 saate bir calısmasına ızın verecegız.Goruldugu gıbı OnStart
metodunda timer enable ediliyor ve OnStop da disable ediliyor.Şimdi kodlarımızın
calısacagı worker adında bir class acarak burada email atan metodumuzu yazalım.
Worker classımızın
kurucusunda crm e baglanalım.Ama oncelıkle crm 2011 e baglanmak içinde bir
class acalım ve crm e baglanmak için gerekli verileri girelim.
Daha sonra bir metot yazarak bu metot cagrılınca mail
atılsın.
Buradakı mail atma crm üzerinden atılacaktır.
Metodumuzun içerisindeki kodlar:
Şimdi de service1.cs sınıfını
acarak yazdıgımız metodu calıstıralım.
Kod yazma işlemimiz bitti.Sıra geldi windows service için
gerekli işlemleri yapmaya.
Service1.cs[Design] ekranını
acalım.Sayfada herhangi bir yere sag
tıklanarak Add
Installer secenegini secelım.
Daha sonra karsımıza cıkan ekrandan serviceInstaller1 secılerek
properties tool unu acalım.(Properties tool u kapalıysa wiev altından
secebilrsiniz.)
Yukarıda goruldugu gıbı ServiceName alanına
servisimizin adını girelim ve Startype secenegınıde
Automatic yapalım.
Daha sonra projemızın ozellıklerınden Application sekmesinden
Startup Object kısmında
programızı secelım.
Projenın ozellıklerıne proje sag tıklanarak Properties
secenegınden ulasılabilir.
İşlemlerimiz bittikten sonra projemizi Build edelim.(Ctrl +
Shift + B)
Windows service imizi olusturduk.Sıra geldi windows a deploy
etmeye.
Windows a ,Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe dosyasını calsıtırarak projemızın exe sının yolunu
vererek deploy etmıs olacagız.
Bu işlemi yapmak için komut penceresını Yönetici (Run
as Administor)olarak calıstıralım.
Komut penceresinde 2 kere cd.. diyerek C:\ dizinine gelelim.
Kullanıcı bilgilerini girdikten sonra OK ye tıklayalım.Asagıdakı ekran goruntusunde son satırlara dıkkat edersenız basarıyla install olundugunu yazmaktadır.
Komut satırını calıstırdıgımızda kullanıcı bilgileri isteyen
ekran cıkar.
Kullanıcı bilgilerini girdikten sonra OK ye tıklayalım.Asagıdakı ekran goruntusunde son satırlara dıkkat edersenız basarıyla install olundugunu yazmaktadır.
Artık servisimizi deploy ettik.Şimdi olusup olusmadıgını
bakmak için Hizmetler i acalım ve servisimizi start edelim.
NOTLAR
Install Komutu
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil.exe Users\gokhanm\Downloads\WindowsServiceMailAtmaSolution\WindowsServiceMailAtma\bin\Debug\WindowsServiceMailAtma.exe
UnInstall Komutu
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u Users\gokhanm\Downloads\WindowsServiceMailAtmaSolution\WindowsServiceMailAtma\bin\Debug\WindowsServiceMailAtma.exe
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil.exe Users\gokhanm\Downloads\WindowsServiceMailAtmaSolution\WindowsServiceMailAtma\bin\Debug\WindowsServiceMailAtma.exe
UnInstall Komutu
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u Users\gokhanm\Downloads\WindowsServiceMailAtmaSolution\WindowsServiceMailAtma\bin\Debug\WindowsServiceMailAtma.exe
NOT:Uninstall ederken /u yu yazmayı unutmayın.
Mavi ile işaretlenmis kısım projemızın exe sinin bulundugu
dizini gosterir.Sizin yapacagınız satırlardakı mavi ile işaretlenmıs kısıma
kendi exe nizin yolunu vermektir.
Not:Programımızda birsey degıstırmek ıstıyorsak ılk bas uninstall edelım.İlgili kod degısıklıgını yaptıktan sonra ReBuild edelim.Daha sonra tekrardan install edelim.
NOT: Web Servisi deploy etmek için gerekli kullanıcı izinlerinizin
olması gerekmektedir.Yoksa hata verecektir.
NOT: Hata almadan yukledıgınız windows servise Hizmetler (Services) altından ulasabılırsınız.
NOT:Hizmetlere komut penceresinden services.msc
satırını calıstırarak ulasabilirsiniz.
Hizmetler altından servisimizi restart etmeyi unutmayalım.
Daha fazla bilgi için http://www.codeproject.com/Articles/3990/Simple-Windows-Service-Sample
adresini ziyaret edebilirsiniz.
Hiç yorum yok:
Yorum Gönder