Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 39816|Jawab: 3

[Inti .NET] Layanan berdasarkan .NET Core di Linux

[Salin tautan]
Dipaparkan pada 2020-10-29 14:20:02 | | | |
.NET CORE 3.0 menambahkan templat proyek baru untuk Layanan Pekerja, yang dapat digunakan untuk menulis layanan latar belakang yang berjalan lama dan dengan mudah menyebarkannya sebagai layanan Windows atau daemon Linux. Jika vs2019 yang diinstal adalah versi Cina, Layanan Pekerja menjadi peran pekerja.

Lingkungan sistem Linux: CentOS 8 x64-bit

Membuat proyek Layanan Pekerja baru

Pertama, buka VS 2019 untuk membuat proyek Layanan Pekerja baru.



Layanan Linux, perlu menambahkan:

Jika ini adalah layanan Windows, Anda harus menambahkan:

Jika Anda ingin menjalankan serangkaian program di beberapa tempat, Anda cukup menginstal dua paket secara bersamaan. Selanjutnya di CreateHostBuilder, tambahkan UseWindowsService() dan UseSystemd().



Fungsi yang diimplementasikan oleh proyek adalah menulis log ke file /test/file.txt, dan kode utamanya adalah sebagai berikut:



Kode tugas WriteFile adalah sebagai berikut:

Karena masalah izin, program tidak dapat secara otomatis membuat folder /test, yang akan dibahas di bawah ini.

Terapkan layanan ke CentOS

YaMenginstal runtime .NET Core(Tidak termasuk dukungan ASP.NET Core)




Jika Anda ingin menginstal runtime yang mendukung ASP.NET Core, Anda dapat menjalankan perintah berikut:

[akar@localhost~]# dotnet --list-runtimes
Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]


Buat folder /test dan berikan izin sebagai berikut:

Di bawah folder /etc/systemd/system, buat file konfigurasi layanan itsvse.service sebagai berikut:

Menambahkan akun layanan dan membuat folder

Publikasikan dan unggah Job.Service ke direktori server /home/dotnetuser/job, dan publikasikan konfigurasi sebagai berikut:



Mengaktifkan layanan

Setelah layanan dimulai, Anda dapat melihat bahwa Anda dapat menulis file secara normal, seperti yang ditunjukkan pada gambar berikut:



Unduhan kode sumber:

Wisatawan, jika Anda ingin melihat konten tersembunyi dari posting ini, silakanJawab


(Akhir)




Mantan:ASP.NET WebApi menggunakan MessageHandlers untuk menyatukan format model antarmuka yang dikembalikan
Depan:Layanan API web konsol berbasis HttpSelfHostServer
 Tuan tanah| Dipaparkan pada 2020-10-30 09:28:44 |
Keluaran sampel:
info: ExampleHostedService[0]
//           1. StartAsync telah dipanggil.
info: ExampleHostedService[0]
//           2. OnStarted telah dipanggil.
info: Microsoft.Hosting.Lifetime[0]
Aplikasi dimulai. Tekan Ctrl+C untuk mematikan.
info: Microsoft.Hosting.Lifetime[0]
Lingkungan hosting: Produksi
info: Microsoft.Hosting.Lifetime[0]
Jalur akar konten: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. OnStopping telah dipanggil.
info: Microsoft.Hosting.Lifetime[0]
Aplikasi ditutup...
info: ExampleHostedService[0]
//           4. StopAsync telah dipanggil.
info: ExampleHostedService[0]
//           5. OnStopped telah dipanggil.


 Tuan tanah| Dipaparkan pada 2020-11-6 13:53:00 |
kelas abstrak publik BackgroundService : IHostedService, IDisposable

Antarmuka IHostedService menyediakan cara yang nyaman untuk memulai tugas latar belakang di aplikasi web Core ASP.NET (di .NET Core 2.0 dan yang lebih baru) atau pada proses/host apa pun (dimulai dengan .NET Core 2.1 menggunakan IHost). Keuntungan utamanya adalah dapat dilakukan ketika host itu sendiri akan matiAda kemungkinanLakukan pembatalan normal untuk membersihkan kode untuk tugas latar belakang.
 Tuan tanah| Dipaparkan pada 2021-4-27 15:57:28 |
Mendaftarkan metode ekstensi layanan backend

Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com