Où puis-je trouver une vue détaillée du cycle de vie d'un service Windows tel que développé dans .NET? J'ai posé ma question de cette façon parce que je ne suis pas sûr qu'une description suffisamment détaillée puisse être affichée ici, mais si vous pensez que vous pouvez vous sentir libre d'essayer.Où puis-je trouver une vue détaillée du cycle de vie d'un service Windows tel que développé dans .NET?
Un exemple d'une réponse incorrecte serait un paste de la description de la page MSDN: Introduction to Windows Service Applications. Ce n'est pas assez détaillé. Par exemple, un service est-il déchargé de la mémoire, et par conséquent la méthode Dispose est appelée? Ou est-il simplement arrêté par la méthode OnStop, pour être redémarré sans initialisation en appelant la méthode OnStart?
En raison du fait que ma question a été répondue, et présente une autre question en même temps, voici quelques références à opposer des cycles de vie (que je sais maintenant s'applique également aux services) destinés à être utilisés par les futurs visiteurs à cette question:
StackOverflow - What is the .NET object life cycle?
tutorials.beginners.co.uk/read/id/188
developerfusion.com/article/1047/new-objectoriented-capabilities-in-vbnet/3/
Amusez-vous!
Ceci est une très bonne réponse, il y a un seul point que je voudrais clarifier. Vous dites "si je suis dépendant de la méthode Dispose, il y a probablement un défaut ... dans [mon] design". Je suis un peu confus par cela. Est-ce que l'instance de ServiceBase hébergeant mon service n'appelle pas Dispose? Actuellement, j'utilise New() pour initialiser mes objets, OnStart pour les configurer et les "démarrer" pour ainsi dire, OnStop pour les arrêter, et Dispose pour appeler les méthodes Dispose pour mes composants, objets gérés, objets non gérés et 'set large champs à null '.J'avais l'impression que c'est pour cela que Dispose doit être utilisé. –
Votre droit. J'ai mon Dispose et Finalize embrouillé, mais mon intention était toujours correcte, j'ai modifié le dernier paragraphe pour correspondre. –