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

Melihat: 36585|Jawab: 3

[ASP.NET] C# adalah layanan Windows yang menjalankan tugas secara teratur

[Salin tautan]
Diposting pada 27/04/2019 17.56.09 | | | |


kata pengantar

Mengikuti artikel sebelumnya tentang Windows Task Scheduler, artikel ini akan mencatat pembuatan layanan Windows.
Lingkungan & Alat

>Sistem Windows 10

>VS 2017

Teks

1: Buat solusi baru dan buat layanan Windows. Namanya adalah "WindowsServiceDemo.exe






2: Klik dua kali pada file "Service1.cs", klik kanan pada ruang kosong – > pilih "Tambahkan penginstal".







3: Dalam dua komponen yang dihasilkan, klik komponen "serviceProcessInstaller1", dan di formulir properti, atur jenis akun "Akun" ke "LocalSystem".





4: Dalam dua komponen yang dihasilkan, klik komponen "serviceInstaller1", dalam formulir properti, atur properti yang sesuai, lalu simpan.




5: Klik kanan pada "Service1.cs" – > pilih "Lihat Kode".






6: Dalam metode yang sesuai, tulis logika pemrosesan. Metode OnStart(): mengacu pada metode yang masuk saat layanan Windows dimulai. OnStop(): Seperti namanya, ini adalah cara masuk saat layanan berhenti. Kita dapat menulis pengatur waktu untuk membiarkan program memproses logika pada hubungan seksual biasa.






7: Buat dua file notepad, beri nama dan ubah nama akhiran "Install.bat" dan "Uninstall.bat" masing-masing Catatan: Nama akhiran adalah .bat. Tempelkan di dalam proyek. Dan ubah atribut menjadi "Salin ke lokal".



8: Dua file yang baru saja kami buat adalah untuk menginstal layanan dan menghapus layanan. Sekarang tulis kode batch ke dua file ini dan simpan.
Buka file "Install.bat" dan tulis kode berikut
Catatan: "WindowsServiceDemo.exe" adalah program exe yang baru saja dibuat. "AServiceTest" adalah "ServiceName" yang ditetapkan dalam komponen "serviceInstaller1".

Buka file "Uninstall.bat" dan tulis kode berikut


9: F6 menghasilkannya. Di direktori "bin\Debug" proyek. Klik kanan pada "Install.bat" – > pilih "Jalankan sebagai administrator".



Setelah instalasi layanan selesai. Kita dapat melihat bahwa file "Log.txt" menulis satu baris data setiap 10 detik.


Kita dapat melihat layanan yang diinstal.
Jalankan – > masukkan "services.msc" enter.



Hentikan layanan sekarang. Klik kanan pada "Uninstall.bat" – > pilih "Jalankan sebagai administrator".



Setelah layanan dihapus. Kita dapat melihat bahwa file "Log.txt" juga memiliki baris data yang ditulis padanya.



#Penelusuran kesalahan layanan Windows

Layanan Windows tidak dapat dimulai secara langsung dengan F5, F10 yang di-debug. Jadi bagaimana cara men-debug program jika ada kelainan?
1: Pertama-tama, gunakan administrator untuk menjalankan file "Install.bat" dan biarkan program berjalan terlebih dahulu.

2: Kembali ke VS dan pilih "Debug" di bilah menu – > pilih "Lampirkan ke Proses".





3: Dalam formulir pop-up, centang "Tampilkan semua proses pengguna", temukan aplikasi .exe yang kami buat, dan klik "Lampirkan".




4: Pecahkan titik dalam metode, sehingga ketika berjalan untuk waktu tertentu, dapat memicu debugging.



Epilog

Debugging layanan Windows sangat merepotkan, terkadang program ditulis dalam masalah, dan layanan tidak dapat dimulai, yang membuatnya lebih sulit untuk men-debug. Umumnya, penulisan layanan Windows akan disertai dengan aplikasi konsol. Debug di aplikasi konsol, lalu pindahkan ke Layanan Windows. Topik berikutnya akan menjelaskan cara yang lebih sederhana untuk membuat layanan Windows.


Catatan: File batch yang diluncurkan dan dihapus oleh kedua program harus dijalankan sebagai administrator. Jika tidak, itu akan salah.









Mantan:Algoritma Umum untuk Berbagi Big Data (Aplikasi)
Depan:Penggunaan Topshelf untuk tugas eksekusi terjadwal C#
Diposting pada 08/05/2019 10.59.16 |
Terima kasih telah berbagi, tepat pada waktunya, kirimkan kepada saya
Diposting pada 22/06/2020 14.04.33 |
Selalu laporkan kesalahan ini
 Tuan tanah| Diposting pada 07/09/2020 15.21.59 |
awclovelin Dipaparkan pada 2020-6-22 14:04
Selalu laporkan kesalahan ini

Perintah yang berjalan salah, layanan ini tidak diinstal. Jika Anda menginstalnya dengan mengetuk baris perintah, Anda dapat merujuk ke posting saya berikutnya.
Penggunaan Topshelf untuk tugas eksekusi terjadwal C#
https://www.itsvse.com/thread-7503-1-1.html

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