İpucu

Windows servislerini debug edebilmek için aşağıdaki yöntemi kullanabilirsiniz.

Daha fazla bilgi için "Preprocessor Directives" linkini okuyabilirsiniz.

Program.cs dosyasının, Main() fonksiyonu içinde; servis dosyasının başlatma işlemleri yer alır. Bu alanı yorumlayıp kendi kodumuzu yazacağız. İsterseniz #if - #else kullanarak, yorumlamadan da halledebilirsiniz.

ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new PortalWindowsServis()
};
ServiceBase.Run(ServicesToRun);

kodunu aşağıda ki gibi değiştiriyoruz.

//ServiceBase[] ServicesToRun;
 //ServicesToRun = new ServiceBase[]
 //{
 //new PortalWindowsServis()
 //};
 //ServiceBase.Run(ServicesToRun);

#if(DEBUG)
 var srv = new PortalWindowsServis();
 srv._timer_Elapsed(null, null);
 #endif

#if - #endif içerisinde, yani debug anında, servisimizin sınıfından yeni bir instance oluşturuyoruz.

Bu instance üzerinde ki, istediğimiz fonksiyonu çağırabiliyoruz.

Ben yukarıda ki kodda, Timer nesnesinin Elapsed anında ki işlemleri için çağırma yaptım.