Konsultan Pengembang Premier 
Randy Patterson membahas manfaat menggunakan proyek proyek Layanan Pekerja baru yang diperkenalkan di .NET Core 3.
.NET Core 3 memperkenalkan templat proyek baru yang disebut Worker Service. Template ini dirancang untuk memberi Anda titik awal untuk layanan lintas platform. Sebagai use case alternatif, ia mengatur lingkungan yang sangat bagus untuk aplikasi konsol umum yang sempurna untuk wadah dan layanan Microsoft.

Beberapa manfaat menggunakan templat ini mencakup bidang-bidang berikut.

Ketergantungan injeksi
Templat Layanan Pekerja mengonfigurasi wadah injeksi Ketergantungan default, siap untuk kita gunakan. Ini adalah manfaat yang sangat besar dibandingkan dengan templat Konsol umum.
Menambahkan Layanan melibatkan memperbarui metode 
ConfigureServices dalam file 
Program.cs :
Host.CreateDefaultBuilder(args)   .ConfigureServices((hostContext, services) =>   {       services.AddTransient<ICustomerService,CustomerService>();       services.AddHostedService<Worker>();   }); 
Konfigurasi
Pengaturan penyedia konfigurasi yang sama untuk ASP.NET Core digandakan di sini untuk Layanan Pekerja. Ini memberi kami lingkungan yang kuat dan akrab untuk menyimpan informasi konfigurasi:
- appsettings.json
- pengaturan aplikasi. {Lingkungan} .json
- Rahasia Pengguna (hanya untuk pengembangan)
- Variabel Lingkungan
- Argumen Baris Perintah
Untuk informasi tambahan tentang masing-masing penyedia silakan lihat artikel saya sebelumnya yang diposting di 
sini .
Penebangan
Demikian juga, penyedia logging telah dikonfigurasi untuk mencocokkan pengaturan default untuk ASP.Net Core, memberi Anda penyedia berikut:
- Konsol
- Debug
- Sumber acara
- EventLog (hanya saat berjalan di Windows)
Anda bisa memodifikasi penyedia logging dengan menambahkan metode 
ConfigureLogging ke objek 
Host di 
Program.cs :
 Host.CreateDefaultBuilder(args)  .ConfigureServices((hostContext, services) =>  {      services.AddHostedService<Worker>();  })  .ConfigureLogging(logging =>  {      logging.ClearProviders();      logging.AddConsole();  }); 
Untuk informasi tambahan tentang pencatatan, silakan lihat 
dokumentasi untuk ASP.NET Core.
Kelas Starter Pekerja
Akhirnya, file 
Worker.cs adalah tempat sebagian besar kode Anda akan ada. Ada 3 metode yang dapat ditimpa dari 
BackgroundService kelas dasar yang memungkinkan Anda mengikat ke siklus hidup aplikasi Anda:
ExecuteAsync - metode abstrak yang digunakan sebagai titik masuk utama untuk aplikasi Anda. Jika metode ini keluar, maka aplikasi Anda dimatikan.
StartAsync - Metode virtual yang, ketika diganti, dipanggil saat layanan dimulai, dan dapat digunakan untuk pengaturan sumber daya satu kali.
StopAsync - Metode virtual yang disebut ketika aplikasi dimatikan, dan merupakan tempat yang baik untuk melepaskan sumber daya dan membuang objek.
Ringkasan
Template layanan pekerja baru di .NET Core 3 menciptakan lingkungan hosting yang sangat cocok untuk aplikasi konsol, layanan microser, aplikasi kemas, dan layanan latar belakang lintas platform. Sementara manfaat ini dapat dikonfigurasi secara terpisah dari Templat, Templat Layanan Pekerja memberi kami lingkungan startup yang konsisten antara ASP.NET Core dan aplikasi Konsol.