.NET Core 3 memperkenalkan templat proyek baru yang disebut Worker Service. Template ini dirancang untuk memberi Anda titik awal untuk membuat layanan lintas platform. Sebagai kasus penggunaan alternatif: ia menyediakan lingkungan yang sangat baik untuk membuat aplikasi konsol, yang ideal untuk wadah dan layanan Microsoft.

Baca lebih lanjut tentang beberapa manfaat menggunakan templat ini di bawah kucing.

Injeksi Ketergantungan
Templat Layanan Pekerja mengatur wadah untuk injeksi ketergantungan secara default, siap digunakan. Ini adalah keuntungan besar dari keseluruhan template konsol.
Menambahkan layanan mencakup 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. {environment} .json
- Rahasia Pengguna (hanya pengembangan)
- Variabel lingkungan
- Argumen baris perintah
Untuk informasi lebih lanjut tentang masing-masing penyedia, silakan lihat artikel saya sebelumnya yang diposting di
sini .
Penebangan
Demikian pula, penyedia log dikonfigurasi sesuai dengan pengaturan default untuk ASP.Net Core, menyediakan Anda dengan penyedia berikut:
- Konsol
- Debug
- Sumber acara
- EventLog (hanya di Windows)
Anda bisa menambahkan 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(); });
Lihat
dokumentasi ASP.NET Core untuk informasi lebih lanjut.
Kelas Starter Pekerja
Akhirnya, sebagian besar kode Anda akan ada di file
Worker.cs . Ada 3 metode yang dapat didefinisikan ulang di kelas
BackgroundService dasar yang memungkinkan Anda untuk menghubungkan diri Anda dengan siklus hidup aplikasi:
ExecuteAsync adalah metode abstrak yang digunakan sebagai titik masuk utama untuk aplikasi Anda. Jika metode ini terputus, aplikasi ditutup.
StartAsync - Metode virtual yang, ketika diganti, dipanggil saat layanan dimulai dan dapat digunakan untuk mengatur sumber daya satu kali.
StopAsync - Metode virtual yang disebut ketika aplikasi ditutup, dan merupakan tempat yang baik untuk membebaskan sumber daya dan menghapus objek.
Total
Templat Layanan Pekerja baru di .NET Core 3 menciptakan lingkungan hosting yang sangat cocok untuk aplikasi konsol, layanan mikro, aplikasi wadah, dan layanan latar belakang lintas platform. Meskipun manfaat ini dapat disesuaikan secara terpisah dari templat, Worker Service menyediakan lingkungan peluncuran yang konsisten untuk digunakan dengan ASP.NET Core dan aplikasi konsol.