Windows Service Pack 2 (SP2) e .NET Framework SP2 hanno introdotto una serie di importanti modifiche che hanno influito sul funzionamento dei servizi Windows. Queste modifiche includono:
* L'introduzione dell'API Service Control Manager (SCM).
* La possibilità di specificare la modalità di avvio di un servizio come "Automatica", "Manuale" o "Disabilitata".
* L'aggiunta di un nuovo flag di stato del servizio, SERVICE_STOPPED_WAIT_HUNG, che indica che un servizio sta impiegando più tempo del previsto per arrestarsi.
* La possibilità di specificare l'account con cui deve essere eseguito un servizio.
* L'aggiunta di nuove funzionalità di sicurezza, come la possibilità di limitare l'accesso alla configurazione e ai dati di un servizio.
.NET Service Pack 3 (SP3)
Windows Service Pack 3 (SP3) e .NET Framework SP3 hanno introdotto una serie di modifiche minori che hanno influito sul funzionamento dei servizi Windows. Queste modifiche includono:
* L'aggiunta di un nuovo flag di stato del servizio, SERVICE_START_PENDING, che indica che l'avvio di un servizio sta impiegando più tempo del previsto.
* La possibilità di specificare l'ordine in cui i servizi vengono avviati e interrotti.
* L'aggiunta di nuove opzioni di registrazione per i servizi Windows.
La tabella seguente riassume le principali differenze tra Windows Service Pack 2 e 3:
| Caratteristica | Pacchetto servizi 2 | Pacchetto di servizi 3 |
|---|---|---|
| API Gestione controllo servizi (SCM) | Introdotto | Nessun cambiamento |
| Modalità di avvio del servizio | Può essere impostato su "Automatico", "Manuale" o "Disabilitato" | Nessun cambiamento |
| Flag di stato del servizio | Aggiunto il flag SERVICE_STOPPED_WAIT_HUNG | Aggiunto contrassegno SERVICE_START_PENDING |
| Conto di servizio | Può essere specificato | Nessun cambiamento |
| Caratteristiche di sicurezza | Aggiunte nuove funzionalità di sicurezza, come la possibilità di limitare l'accesso alla configurazione e ai dati di un servizio | Nessun cambiamento |
| Opzioni di registrazione | Opzioni di registrazione limitate | Aggiunte nuove opzioni di registrazione |
| Dipendenze del servizio | Può essere specificato | Può essere specificato in modo più flessibile |
Lavorare con i servizi Windows in .NET
Per creare un servizio Windows in .NET, è necessario creare una classe che derivi dalla classe "ServiceBase". La classe "ServiceBase" fornisce le funzionalità di base richieste per un servizio Windows, come la possibilità di avviare, arrestare e mettere in pausa il servizio.
Il codice seguente mostra un semplice esempio di un servizio Windows:
```
utilizzando il sistema;
utilizzando System.ServiceProcess;
spazio dei nomi MyWindowsService
{
classe pubblica MyWindowsService:ServiceBase
{
override protetto void OnStart(string[] args)
{
// TODO:aggiungi il codice per avviare il servizio.
}
override protetto void OnStop()
{
// TODO:aggiunge il codice per interrompere il servizio.
}
}
}
```
Per installare un servizio Windows, è necessario utilizzare lo strumento `InstallUtil`. Lo strumento "InstallUtil" si trova in .NET Framework SDK. Il seguente comando installa un servizio Windows:
```
InstallUtil.exe MyWindowsService.exe
```
Per disinstallare un servizio Windows, è necessario utilizzare lo strumento `UninstallUtil`. Il seguente comando disinstalla un servizio Windows:
```
UninstallUtil.exe MyWindowsService.exe
```
Domanda © www.354353.com