52 votes

délai de démarrage du service Windows

Existe-t-il un moyen de définir une valeur différente pour l'expiration du délai de démarrage du service par service? Je peux le changer à l'aide de la clé de registre ServicesPipeTimeout, mais cela se fait par ordinateur ( http://support.microsoft.com/kb/824344 ).

Pour le moment, la seule chose à laquelle je pensais était de faire toutes les actions de démarrage fastidieuses dans un thread différent.

79voto

Hinek Points 4598

Je suis d'accord avec Romulo pour finir de commencer votre service le plus tôt possible. Toutefois, si vous avez besoin de temps et que vous utilisez .NET Framework 2.0 ou une version ultérieure, vous pouvez envisager la méthode ServiceBase.RequestAdditionalTime ().

http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.requestadditionaltime.aspx

 protected override void OnStart()
{
    this.RequestAdditionalTime(10000);
    // do your stuff
}
 

36voto

Romulo Ceccon Points 5402

Il est judicieux de terminer le service le plus rapidement possible. Ainsi, pendant l'état de démarrage , ne faites que ce dont vous avez absolument besoin pour reconnaître que le démarrage a été réussi. et faire le reste plus tard. Si le processus de démarrage est encore long, utilisez régulièrement SetServiceStatus pour informer le gestionnaire de contrôle des services que vous n'avez pas encore terminé, afin de ne pas expirer votre service.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X