Το Windows Service Pack 2 (SP2) και το .NET Framework SP2 εισήγαγαν μια σειρά από σημαντικές αλλαγές που επηρέασαν τον τρόπο λειτουργίας των υπηρεσιών των Windows. Αυτές οι αλλαγές περιλαμβάνουν:
* Η εισαγωγή του Service Control Manager (SCM) API.
* Η δυνατότητα καθορισμού της λειτουργίας έναρξης μιας υπηρεσίας ως "Αυτόματη", "Μη αυτόματη" ή "Απενεργοποιημένη".
* Η προσθήκη μιας νέας επισήμανσης κατάστασης υπηρεσίας, SERVICE_STOPPED_WAIT_HUNG, η οποία υποδεικνύει ότι η διακοπή μιας υπηρεσίας διαρκεί περισσότερο από το αναμενόμενο.
* Η δυνατότητα καθορισμού του λογαριασμού κάτω από τον οποίο θα εκτελείται μια υπηρεσία.
* Η προσθήκη νέων χαρακτηριστικών ασφαλείας, όπως η δυνατότητα περιορισμού της πρόσβασης στη διαμόρφωση και τα δεδομένα μιας υπηρεσίας.
.NET Service Pack 3 (SP3)
Το Windows Service Pack 3 (SP3) και το .NET Framework SP3 εισήγαγαν μια σειρά από μικρές αλλαγές που επηρέασαν τον τρόπο λειτουργίας των υπηρεσιών των Windows. Αυτές οι αλλαγές περιλαμβάνουν:
* Η προσθήκη μιας νέας επισήμανσης κατάστασης υπηρεσίας, SERVICE_START_PENDING, η οποία υποδεικνύει ότι μια υπηρεσία διαρκεί περισσότερο από το αναμενόμενο για να ξεκινήσει.
* Δυνατότητα καθορισμού της σειράς έναρξης και διακοπής των υπηρεσιών.
* Η προσθήκη νέων επιλογών καταγραφής για υπηρεσίες Windows.
Ο παρακάτω πίνακας συνοψίζει τις βασικές διαφορές μεταξύ των Windows Service Pack 2 και 3:
| Χαρακτηριστικό | Service Pack 2 | Service Pack 3 |
|---|---|---|
| Service Control Manager (SCM) API | Εισήχθη | Καμία αλλαγή |
| Λειτουργία έναρξης υπηρεσίας | Μπορεί να ρυθμιστεί σε "Automatic", "Manual" ή "Disabled" | Καμία αλλαγή |
| Σημαίες κατάστασης υπηρεσίας | Προστέθηκε σημαία SERVICE_STOPPED_WAIT_HUNG | Προστέθηκε SERVICE_START_PENDING σημαία |
| Λογαριασμός υπηρεσίας | Μπορεί να καθοριστεί | Καμία αλλαγή |
| Χαρακτηριστικά ασφαλείας | Προστέθηκαν νέες δυνατότητες ασφαλείας, όπως η δυνατότητα περιορισμού της πρόσβασης στη διαμόρφωση και τα δεδομένα μιας υπηρεσίας | Καμία αλλαγή |
| Επιλογές καταγραφής | Περιορισμένες επιλογές καταγραφής | Προστέθηκαν νέες επιλογές καταγραφής |
| Εξαρτήσεις υπηρεσιών | Μπορεί να καθοριστεί | Μπορεί να καθοριστεί με πιο ευέλικτο τρόπο |
Εργασία με Υπηρεσίες Windows σε .NET
Για να δημιουργήσετε μια υπηρεσία Windows στο .NET, πρέπει να δημιουργήσετε μια κλάση που προέρχεται από την κλάση `ServiceBase`. Η κλάση `ServiceBase` παρέχει τη βασική λειτουργικότητα που απαιτείται για μια υπηρεσία των Windows, όπως τη δυνατότητα εκκίνησης, διακοπής και παύσης της υπηρεσίας.
Ο παρακάτω κώδικας δείχνει ένα απλό παράδειγμα υπηρεσίας Windows:
```
χρησιμοποιώντας το σύστημα.
χρησιμοποιώντας System.ServiceProcess.
χώρο ονομάτων MyWindowsService
{
δημόσια κλάση MyWindowsService :ServiceBase
{
προστατευμένη παράκαμψη κενό OnStart(string[] args)
{
// TODO:Προσθήκη κώδικα για να ξεκινήσει η υπηρεσία.
}
προστατευμένη παράκαμψη void OnStop()
{
// TODO:Προσθήκη κώδικα για διακοπή της υπηρεσίας.
}
}
}
```
Για να εγκαταστήσετε μια υπηρεσία Windows, πρέπει να χρησιμοποιήσετε το εργαλείο «InstallUtil». Το εργαλείο «InstallUtil» βρίσκεται στο .NET Framework SDK. Η ακόλουθη εντολή εγκαθιστά μια υπηρεσία Windows:
```
InstallUtil.exe MyWindowsService.exe
```
Για να απεγκαταστήσετε μια υπηρεσία των Windows, πρέπει να χρησιμοποιήσετε το εργαλείο «UninstallUtil». Η ακόλουθη εντολή απεγκαθιστά μια υπηρεσία των Windows:
```
UninstallUtil.exe MyWindowsService.exe
```
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα