Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 36585|Yanıt: 3

[ASP.NET] C#, düzenli olarak görevleri yürüten bir Windows hizmetidir

[Bağlantıyı kopyala]
Yayınlandı 27.04.2019 17:56:09 | | | |


önsöz

Windows Görev Zamanlayıcısı ile ilgili önceki makalenin devamı olarak, bu makale Windows hizmetlerinin oluşturulmasını kaydedecektir.
Çevre ve Araçlar

>Windows 10 sistemi

>VS 2017

Metin

1: Yeni bir çözüm oluşturun ve bir Windows servisi oluşturun. İsim "WindowsServiceDemo.exe






2: "Service1.cs" dosyasına çift tıklayın, boş alana sağ tıklayın – > "Kurulumcu ekle" seçeneğini seçin.







3: Oluşturulan iki bileşende "serviceProcessInstaller1" bileşenine tıklayın ve özellikler formunda "Hesap" hesap tipini "LocalSystem" olarak ayarlayın.





4: Oluşturulan iki bileşende, özellikler formunda "serviceInstaller1" bileşenine tıklayın, ilgili özellikleri ayarlayın ve sonra kaydedin.




5: "Service1.cs" üzerine sağ tıklayın – > "Kodu Görüntüle"yi seçin.






6: İlgili yöntemde, işlem mantığını yazın. OnStart() yöntemi: Windows servisi başladığında giren yöntemi ifade eder. OnStop(): Adından da anlaşılacağı gibi, servis durduğunda giriş için bu yol. Programın mantığı normal ilişkide işlemesi için bir zamanlayıcı yazabiliriz.






7: İki not defteri dosyası oluşturun, ekleri sırasıyla "Install.bat" ve "Uninstall.bat" eklerini adlandırın ve değiştirin Not: Ekin adı .bat. Projenin içine yapıştırın. Ve özniteliği "Kopyala yerel" olarak değiştir.



8: Az önce oluşturduğumuz iki dosya servisi yüklemek ve kaldırmak için. Şimdi bu iki dosyaya toplu kod yazın ve kaydedin.
"Install.bat" dosyasını açın ve aşağıdaki kodu yaz
Not: "WindowsServiceDemo.exe" yeni oluşturulan exe programıdır. "AServiceTest", "serviceInstaller1" bileşeninde belirlenen "ServiceName" adıdır.

"Uninstall.bat" dosyasını açın ve aşağıdaki kodu yazın


9: F6 onu üretir. Proje "bin\Debug" dizininde. "Install.bat" seçeneğine sağ tıklayın – > "Yönetici olarak çalıştır" seçeneğini seçin.



Servis kurulumu tamamlandıktan sonra. "Log.txt" dosyasının her 10 saniyede bir veri satırı yazdığını görebiliyoruz.


Kurulan hizmetleri görebiliyoruz.
Koşun – > "services.msc" girin, enter edin.



Şimdi hizmeti durdurun. "Uninstall.bat" üzerine sağ tıklayın – > "Yönetici olarak çalıştır" seçeneğini seçin.



Hizmet kaldırıldıktan sonra. "Log.txt" dosyasına ayrıca bir veri satırı yazılmış olduğunu görebiliyoruz.



#Windows servis hata hata ayıklama

Windows hizmetleri F5 ile doğrudan başlatılamaz, F10 hata ayıklanır. Peki bir anormallik varsa programda hata ayıklama nasıl yapılır?
1: Öncelikle, yöneticiyi kullanarak "Install.bat" dosyasını çalıştırın ve programın önce çalışmasına izin verin.

2: VS'ye geri dönüp menü çubuğundan "Debug" seçeneğini seçin – > "Sürece Bağla"yı seçin.





3: Açılır formda "Tüm kullanıcıların süreçlerini göster" seçeneğini işaretleyin, oluşturduğumuz .exe uygulamayı bulun ve "Ekle" tuşuna tıklayın.




4: Metodun noktasını kesin, böylece belirli bir süre çalıştığında hata ayıklama tetiklenebilir.



Epilog

Windows servis hata ayıklama çok sorunludur, bazen program bir sorunun içinde yazılır ve servis başlayamıyor, bu da hata ayıklamayı zorlaştırıyor. Genellikle, Windows hizmetlerinin yazılması bir konsol uygulamasıyla birlikte olur. Konsol uygulamasında hata ayıklayın ve sonra Windows Hizmetleri'ne taşıyın. Bir sonraki konu, Windows hizmeti oluşturmanın daha basit bir yolunu açıklayacaktır.


Not: İki program tarafından başlatılan ve kaldırılan toplu dosyalar yönetici olarak çalıştırılmalıdır. Aksi takdirde, yanlış olur.









Önceki:Büyük Veri Paylaşımı için Yaygın Algoritmalar (Uygulamalar)
Önümüzdeki:C# planlı yürütme görevleri için Topshelf'in kullanımı
Yayınlandı 8.05.2019 10:59:16 |
Paylaştığınız için teşekkürler, tam zamanında gönderin, bana gönderin
Yayınlandı 22.06.2020 14:04:33 |
Bu hatayı her zaman bildirin
 Ev sahibi| Yayınlandı 7.09.2020 15:21:59 |

Komut yanlış, bu hizmet yüklü değil. Eğer komut satırına dokunarak kurarsanız, bir sonraki gönderime bakabilirsiniz.
C# planlı yürütme görevleri için Topshelf'in kullanımı
https://www.itsvse.com/thread-7503-1-1.html

Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com