Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 36585|Odgovoriti: 3

[ASP.NET] C# je Windows storitev, ki redno izvaja naloge

[Kopiraj povezavo]
Objavljeno na 27. 04. 2019 17:56:09 | | | |


predgovor

V nadaljevanju prejšnjega članka o Windows Task Schedulerju bo ta članek zabeležil ustvarjanje Windows storitev.
Okolje in orodja

>Sistem Windows 10

>VS 2017

Besedilno sporočilo

1: Ustvarite novo rešitev in ustvarite Windows storitev. Ime je "WindowsServiceDemo.exe






2: Dvojni klik na datoteko "Service1.cs", desni klik na prazen prostor – > izberite "Dodaj namestitveno datoteko".







3: V dveh generiranih komponentah kliknite na komponento "serviceProcessInstaller1" in v obrazcu lastnosti nastavite tip računa "Account" na "LocalSystem".





4: V dveh generiranih komponentah kliknite komponento "serviceInstaller1" v obrazcu lastnosti, nastavite ustrezne lastnosti in nato shranite.




5: Desni klik na "Service1.cs" – > izberite "Ogled kode".






6: V ustrezni metodi zapišite logiko obdelave. Metoda OnStart(): se nanaša na metodo, ki vstopi, ko se Windows storitev zažene. OnStop(): Kot že ime pove, je to način vstopa, ko se storitev ustavi. Lahko napišemo časovnik, da program obdela logiko pri običajnem spolnem odnosu.






7: Ustvarite dve datoteki beležke, poimenujte in spremenite priponi "Install.bat" in "Uninstall.bat" Opomba: Ime pripone je .bat. Prilepite ga v projekt. In spremenite atribut v "Kopiraj v lokalno".



8: Dve datoteki, ki smo jih pravkar ustvarili, sta namenjeni namestitvi storitve in njeni odstranitvi. Zdaj napiši serijsko kodo v ti dve datoteki in jo shrani.
Odpri datoteko "Install.bat" in napiši naslednjo kodo
Opomba: "WindowsServiceDemo.exe" je pravkar generiran exe program. "AServiceTest" je "ServiceName" v komponenti "serviceInstaller1".

Odpri datoteko "Uninstall.bat" in napiši naslednjo kodo


9: F6 ga generira. V mapi projekta "bin\Debug". Desni klik na "Install.bat" – > izberite "Zaženi kot skrbnik".



Ko je namestitev storitve končana. Vidimo, da datoteka "Log.txt" zapiše vrstico podatkov vsakih 10 sekund.


Vidimo nameščene storitve.
Run – > vnesi "services.msc" vnesi.



Ustavite storitev zdaj. Desni klik na "Uninstall.bat" – > izberite "Zaženi kot skrbnik".



Po odstranitvi storitve. Vidimo, da ima datoteka "Log.txt" prav tako vrstico podatkov, zapisano nanjo.



#Odpravljanje napak v Windows storitvah

Windows storitev ni mogoče neposredno zagnati z F5, F10 je debuggiran. Kako torej odpraviti napake programa, če pride do nepravilnosti?
1: Najprej uporabite administratorja, da zažene datoteko "Install.bat" in pustite, da program teče prvi.

2: Vrnite se v VS in izberite "Debug" v menijski vrstici – > izberite "Attach to Process".





3: V pojavnem obrazcu označite "Prikaži vse procese uporabnikov", poiščite .exe aplikacijo, ki smo jo ustvarili, in kliknite "Priloži".




4: Razdeli točko v metodi, da lahko ob določenem času sproži razhroščevanje.



Epilog

Odpravljanje napak v Windows storitvah je zelo zahtevno, včasih je program napisan v težavi in storitev se ne more zagnati, kar otežuje odpravljanje napak. Na splošno je pisanje storitev za Windows spremljano s konzolno aplikacijo. Razhroščevanje v konzolni aplikaciji in nato prenesite v Windows Services. Naslednja tema bo opisala enostavnejši način ustvarjanja Windows storitve.


Opomba: Serijske datoteke, ki jih zaženeta in odstranita oba programa, morajo biti zagnane kot skrbniki. V nasprotnem primeru bo to napačno.









Prejšnji:Pogosti algoritmi za deljenje velikih podatkov (aplikacije)
Naslednji:Uporaba Topshelf za načrtovane izvršilne naloge v C#
Objavljeno na 8. 05. 2019 10:59:16 |
Hvala, da si delil, ravno pravočasno, pošlji mi to
Objavljeno na 22. 06. 2020 14:04:33 |
Vedno prijavite to napako
 Najemodajalec| Objavljeno na 7. 09. 2020 15:21:59 |

Ukaz, ki teče, je napačen, ta storitev ni nameščena. Če jo nameščate s tapkanjem ukazne vrstice, si lahko ogledate moj naslednji zapis.
Uporaba Topshelf za načrtovane izvršilne naloge v C#
https://www.itsvse.com/thread-7503-1-1.html

Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com