Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 36585|Risposta: 3

[ASP.NET] C# è un servizio Windows che esegue regolarmente attività

[Copiato link]
Pubblicato su 27/04/2019 17:56:09 | | | |


prefazione

Sulla sequenza dell'articolo precedente su Windows Task Scheduler, questo articolo registrerà la creazione dei servizi Windows.
Ambiente e strumenti

>Sistema Windows 10

>VS 2017

Testo

1: Crea una nuova soluzione e crea un servizio Windows. Il nome è "WindowsServiceDemo.exe






2: Doppio clic sul file "Service1.cs", clic destro sullo spazio vuoto > seleziona "Aggiungi installatore".







3: Nei due componenti generati, clicca sul componente "serviceProcessInstaller1" e nel modulo proprietà, imposta il tipo di account "Account" su "LocalSystem".





4: Nei due componenti generati, clicca sul componente "serviceInstaller1", nel modulo proprietà, imposta le proprietà corrispondenti e poi salva.




5: Clicca con il tasto destro su "Service1.cs" – > seleziona "Visualizza codice".






6: Nel metodo corrispondente, scrivi la logica di elaborazione. Metodo OnStart(): si riferisce al metodo che entra quando il servizio Windows avvia. OnStop(): Come suggerisce il nome, questo è il modo per entrare quando il servizio si ferma. Possiamo scrivere un timer che permette al programma di elaborare la logica durante il rapporto sessuale regolare.






7: Creare due file di blocchino, nominare e modificare i nomi dei suffissi "Install.bat" e "Uninstall.bat" rispettivamente Nota: Il nome del suffisso è .bat. Incollalo all'interno del progetto. E cambia l'attributo in "Copia al locale".



8: I due file che abbiamo appena creato servono per installare e disinstallare il servizio. Ora scrivi il codice batch su questi due file e salva.
Apri il file "Install.bat" e scrivi il seguente codice
Nota: "WindowsServiceDemo.exe" è il programma exe appena generato. "AServiceTest" è l'insieme "ServiceName" nel componente "serviceInstaller1".

Apri il file "Uninstall.bat" e scrivi il seguente codice


9: F6 lo genera. Nella cartella del progetto "bin\Debug". Clicca con il tasto destro su "Install.bat" – > seleziona "Esegui come amministratore".



Una volta completata l'installazione del servizio. Possiamo vedere che il file "Log.txt" scrive una riga di dati ogni 10 secondi.


Possiamo vedere i servizi installati.
Run – > inserisci "services.msc" inserisci.



Fermate subito il servizio. Clicca con il tasto destro su "Uninstall.bat" > seleziona "Esegui come amministratore".



Dopo che il servizio è stato disinstallato. Possiamo vedere che anche il file "Log.txt" contiene una riga di dati scritta.



#Debug dei servizi Windows

I servizi Windows non possono essere avviati direttamente con F5, F10 debuggato. Quindi, come fare il debug del programma se c'è un'anomalia?
1: Prima di tutto, usa l'amministratore per eseguire il file "Install.bat" e lascia che il programma venga eseguito per primo.

2: Torna su VS e seleziona "Debug" nella barra dei menu – > seleziona "Allega al processo".





3: Nel modulo pop-up, seleziona "Mostra tutti i processi degli utenti", trova l'applicazione .exe che abbiamo generato e clicca su "Collega".




4: Rompere il punto nel metodo, così che quando viene eseguito per un certo tempo, possa attivare il debug.



Epilogo

Il debug del servizio Windows è molto problematico, a volte il programma viene scritto in un problema e il servizio non può avviarsi, il che rende più difficile il debug. Generalmente, la scrittura dei servizi Windows è accompagnata da un'applicazione console. Svela nell'applicazione console e poi spostala nei Servizi Windows. Il prossimo argomento descriverà un modo più semplice per creare un servizio Windows.


Nota: I file batch avviati e disinstallati dai due programmi devono essere eseguiti come amministratori. Altrimenti, sarà errato.









Precedente:Algoritmi comuni per la condivisione di big data (applicazioni)
Prossimo:L'uso di Topshelf per le attività di esecuzione programmata in C#
Pubblicato su 08/05/2019 10:59:16 |
Grazie per aver condiviso, giusto in tempo, mandamelo
Pubblicato su 22/06/2020 14:04:33 |
Segnala sempre questo errore
 Padrone di casa| Pubblicato su 07/09/2020 15:21:59 |

Il comando in esecuzione è sbagliato, questo servizio non è installato. Se lo installi toccando la riga di comando, puoi consultare il mio prossimo post.
L'uso di Topshelf per le attività di esecuzione programmata in C#
https://www.itsvse.com/thread-7503-1-1.html

Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com