Arkadaşlar selam,
Bu yazımda sizlere bilgisayarımızda yüklü olan Windows Servislerin durumunu C# ile nasıl kontrol edebiliriz ondan bahsedeceğim.
Windows servisler bizim arka planda çalışan uygulamalarımızdır. Bazı durumlarda bu servisler durabilir ve işlemlerimizi yapamaz hale gelir.
İlgili servislerimiz durduğunda anlık olarak haberimiz olmayabilir.
Bu windows servislerimizi kontrol eden bir uygulamamız daha olursa gerekli servisler durduğunda bununla ilgili mail gönderme, sms gönderme gibi işlemleri bizim için sağlayabilir. Böylelikle windows servisler çalışmadığında hızlı bir şekilde haberimiz olabilir.
Gelelim windows servislerimizi nasıl kontol edebiliriz?
Öncelikle oluşturduğumuz proje içerisinde Solution Explorer‘dan References‘a sağ tuşla tıklayıp Add Referecence seçilir.
Açılan ekranda soldaki Assemblies sekmesinden System.ServiceProcess seçilir ve projeye eklenmesi gerçekleştirilir.
Daha sonra ise hangi servisimizi kontrol etmek istiyorsak aşağıdaki gerekli kod yazılır.
ServiceController serviceController = new ServiceController("MSSQL$SQLEXPRESS"); switch (serviceController.Status) { case ServiceControllerStatus.ContinuePending: Console.WriteLine("Continue Pending"); break; case ServiceControllerStatus.Paused: Console.WriteLine("Paused"); break; case ServiceControllerStatus.PausePending: Console.WriteLine("Pause Pending"); break; case ServiceControllerStatus.Running: Console.WriteLine("Running"); break; case ServiceControllerStatus.StartPending: Console.WriteLine("Start Pending"); break; case ServiceControllerStatus.Stopped: Console.WriteLine("Stopped"); break; case ServiceControllerStatus.StopPending: Console.WriteLine("Stop Pending"); break; default: break; }
Yukarıdaki örnek kodda SqlExpress servisimizin durumlarını kontrol etmiş olduk. Örneğin bu servisler durduğunda, durakladığında mail gönderme, sms gönderme işlemleri yapmak istiyorsak metotlarımızı yazarak buralara ekleyebilir ve bu şekilde aksiyon alması sağlanabilir.
Umarım faydalı olur.
Bir sonraki yazıda görüşmek üzere…