Sorunuza pratik örnekler hakkında not eklediğinizden, size kurumsal uygulamalar için yazdığım hizmetlerden bazı örnekler vereceğim (kurumsal uygulamalar programcısı olup olmadığınızı söylemezsiniz, ancak tahminim çoğu C # VS2010 programcısının . Sanırım Microsoft için çalışmayan geliştiricilerin ne yazabileceği hakkında bir fikir arıyorsunuz.
Diğer programların hala çalışıp çalışmadığını kontrol eden bir kalp atışı izleme hizmeti (bu da zamanlanan bir görev olarak işe yaramış olabilir, ancak bir hizmet olarak uygulanmış olabilir).
Rapor istekleri kuyruğunda çalışan bir rapor yazma hizmeti, raporları çalıştırdı ve hangi yazıcının meşgul olduğuna bağlı olarak bunları farklı yazıcılara gönderdi. Bu, eski bir uygulamadan oldukça fazla çalışmanın kaldırılmasına yardımcı oldu ve çalışmakta olan raporun hizmeti çalıştıran birden çok ucuz kutu tarafından paylaşılmasına izin verdi.
Bir hizmet olarak uygulandı, böylece sürekli olarak çalışacak, yeniden başlatıldığında otomatik olarak başlayacak ve standart windows hizmetleri arayüzünü başlatmak, durdurmak, duraklatmak vb. İçin kullanabilecektir. Ayrıca, zamanlanmış bir görev olsaydı, diğer programların (soket, boru) çağrısı yerine diğer programlardan veya kalıcı bir kaynaktan (kuyruk, dosya, veritabanı) veri almaya başlayın.
Bir istemci / sunucu uygulamasının sunucu kısmı da yeniden başlatma, vb. Üzerinde yeniden başlayabilmesi için bir hizmet olarak uygulandı. Daha kolay hale getirmek için aynı programı bir hizmet olarak değil çalıştırılan bir .exe ile başka bir proje vardı geliştirme makinelerinde hata ayıklama.
Umarım bu yardımcı olur. Diğer cevaplar daha iyi genel cevaplardır, özellikle de zamanlanmış görevlerin muhtemelen çoğu amaç için yazılması ve yönetilmesi daha kolay olduğu fikri.