ile düzgün çalışmıyor Neden bir Windows hizmeti yazmak zorunda kaldım. Bir URL'yi periyodik olarak istemek ve uygunluğunu kontrol etmem gerekiyordu. Bunun için servisin OnStart
yönteminde bir zamanlayıcıyı başlatmaya karar verdim ve tüm çalışmaları timer_Tick
olayında yapın.Neden Windows Service, System.Timers.Timer veya System.Windows.Forms.Timer
İlk yaklaşımım System.Windows.Forms.Timer
ve Tick
olay kullanıyordu. Okuduğum dersten dolayı bunun için seçtim. Her nasılsa ben hizmet çalışma yapamadık. Sorun çıkarmadan kuruldu ve başlatıldı, ancak olayı tetiklemedi (hata ayıklayıcısını sürece ekledim ve işten çıkmadığını gördüm). Windows hizmetinde Forms zamanlayıcı kullanmanın iyi bir fikir olmadığını düşündüm, bu yüzden System.Timers.Timer
'a geçmeye ve Elapsed
olayını kullanmaya karar verdim. Bu da işe yaramadı. Bir Windows Forms uygulamasında her iki yaklaşımını da denedim ve ikisi de çalıştı. System.Threading.Timer
: blogger tavsiyeleri henüz başka zamanlayıcı kullanmak için http://weblogs.asp.net/sibrahim/archive/2004/01/13/58429.aspx hangi tarih:
Soruma sorum: neden Windows hizmetlerinde diğer zamanlayıcıları kullanamıyorum ve bunun hakkında bir bilgi bulmak neden bu kadar zor?
Bu makaleyi, farklı .NET zamanlayıcılarını karşılaştırarak buldum. Kesinlikle okumaya değer: http://msdn.microsoft.com/en-us/magazine/cc164015.aspx –
"System.Threading.Timer", Windows Server 2008 R2'de benim için çalışan ancak Timers'ta çalışan tek kişidir. Timer, Windows 7 dizüstü bilgisayarımda çalıştı. – Lijo