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.
|