2009-02-03 5 views
2

J'ai utilisé le code suivant dans le service pour déboguer le service en exécutant le service en tant qu'application console et vérifié que tout fonctionne correctement.Mais plus tard, lorsque j'ai installé le service et l'ai démarré En tant qu'application Windows, le service fonctionne comme indiqué par la console de services, mais il ne fait pas le travail dont il a besoin. Je veux savoir ce qui s'est passé dans ce scénario. Merci. Static void Main() { System.ServiceProcess.ServiceBase [] ServicesToRun;Débogage réussi, mais le service ne fonctionne pas après l'installation

 if (Environment.UserInteractive) 
     { 
      ListenerSVC service = new ListenerSVC(); 
      service.OnStart(null); 
      Console.WriteLine("Press any key to stop program"); 
      Console.Read(); 
      service.OnStop(); 
     } 
     else 
     { 

      ServicesToRun = new System.ServiceProcess.ServiceBase[] { new ListenerSVC() }; 
      ServiceBase.Run(ServicesToRun); 


     } 
    } 

Répondre

2

Avez-vous essayé d'intercepter/enregistrer des exceptions? La cause la plus probable est la sécurité (c'est-à-dire que le compte de service n'a pas accès à certaines ressources). Il y a aussi souvent une recherche du fichier .config pour un service (attention si vous utilisez config). Enfin, pour plus de simplicité, essayez d'utiliser un argument de commande juste au cas où UserInteractive signale incorrectement - J'ai tendance à utiliser "-c" pour le mode console/débogage.

+0

Je consignation le statut dans la base de données et oui il est dit 'Accès au système Message Queuing refusé'. J'essaie de lire les messages d'une file d'attente privée dans mon système en utilisant un service d'écoute. – kjayakum

+0

J'ai désactivé le contrôle de compte d'utilisateur et j'ai également ajouté le manifeste d'application pour élever les privilèges. Je ne suis pas au courant des besoins de sécurité spécifiques au système de mise en file d'attente des messages. J'ai vérifié les propriétés de la file d'attente de messages et je trouve que l'onglet de sécurité n'affiche aucun paramètre pour l'exécution en mode WORKGROUP. – kjayakum

Questions connexes