Karena Anda menambahkan catatan tentang contoh-contoh praktis untuk pertanyaan Anda, saya akan memberikan beberapa contoh layanan yang telah saya tulis untuk aplikasi perusahaan (Anda tidak mengatakan jika Anda seorang programmer aplikasi perusahaan tetapi dugaan saya adalah kebanyakan programmer C # VS2010 adalah) . Saya pikir Anda mencari ide tentang apa yang mungkin ditulis oleh pengembang yang tidak bekerja untuk Microsoft.
Layanan monitor detak jantung yang memeriksa apakah program lain masih berjalan (ini mungkin bekerja sebagai tugas yang dijadwalkan juga, tetapi diimplementasikan sebagai layanan).
Layanan penulisan laporan yang berfungsi melalui antrian permintaan laporan, menjalankan laporan, dan mengirimkannya ke printer yang berbeda tergantung pada printer apa yang sibuk. Ini membantu membongkar cukup banyak pekerjaan dari aplikasi lawas dan memungkinkan laporan berjalan untuk dibagikan oleh beberapa kotak murah yang menjalankan layanan.
Itu diimplementasikan sebagai layanan sehingga akan berjalan terus menerus, mulai secara otomatis pada reboot, dan dapat menggunakan antarmuka layanan windows standar untuk memulai, berhenti, berhenti, dll. Juga, jika itu adalah tugas yang dijadwalkan, perlu memulai mendapatkan data dari program lain atau sumber persisten (antrian, file, database) daripada tersedia untuk panggilan program lain (soket, pipa).
Bagian server dari aplikasi klien / server itu juga diimplementasikan sebagai layanan sehingga akan restart pada reboot, dll. Ada proyek lain dengan .exe yang menjalankan program yang sama bukan sebagai layanan, untuk membuatnya lebih mudah untuk debug pada mesin pengembangan.
Saya harap itu membantu. Namun, jawaban lainnya adalah jawaban umum yang lebih baik, terutama gagasan bahwa tugas terjadwal mungkin lebih mudah untuk ditulis dan dikelola untuk sebagian besar tujuan sekarang.