2010-04-15 5 views
2

J'essaye d'écrire un service de Windows. Il s'installe correctement, mais échoue lorsque je l'exécute avec l'exception suivante. J'ai recherché la chaîne "MyNewProgramService", mais je ne trouve aucune conversion qui lancerait cette erreur. J'ai également ajouté des blocs try/catch à un tas de code avec la gestion des exceptions personnalisées sans trouver où cette exception se produit. Je pense que c'est quelque part dans le code de configuration/configuration auto-généré. Des idées?Windows Service échoue au lancement

Event Type: Error 
Event Source: MyNewProgram Event 
Category: None Event 
ID: 0 
Date:  4/15/2010 
Time:  12:48:34 PM 
User:  N/A 
Computer: 20F7KF1 
Description: Service cannot be started. System.InvalidCastException: 
Conversion from string "MyNewProgramService" to type 'Integer' is not valid. ---> 
System.FormatException: Input string was not in a correct format.  
at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, 
    NumberFormatInfo NumberFormat) 
at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)  
    --- End of inner exception stack trace --- 
at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value) 
at TaskManagerFailureHandlerService.MyNewProgramService.OnStart(String[] args) 
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state) 
+0

BTW - Je travaille en VB sur VS2010. – Jeff

Répondre

3

il tombe dans la méthode MyNewProgramService.OnStart, là Conversions.ToInteger est appelée quelque part. Il suffit de le chercher dans la méthode. Puis vérifiez le paramètre. Cela peut provenir de config ou de quelque chose, c'est pourquoi vous ne voyez pas de chaîne dans le texte.

+0

Merci beaucoup. J'ai eu un paramètre permuté dans un appel que je faisais à partir du gestionnaire d'exception dans la méthode OnStart. (Une erreur masquant une autre, ce que j'ai mal!) Merci de me mettre sur la bonne voie! – Jeff

0

Vérifiez votre fichier de configuration.

Vous pouvez également vérifier le compte en cours d'exécution du service. Tout comme un test allez à l'onglet de connexion dans la liste des services et faites-le se connecter sous votre propre compte. Si le problème disparaît c'est un problème d'autorisations.

Questions connexes