Um dos problemas comuns quando se desenvolvem setrviços windows é conseguir fazer debug a eles... Ou fazemos um attach process e corremos o risco de apanhar o processo já a meio da sua execução ou então criar um projecto consola aparte só para este efeito.
Uma forma de facilmente usar o mesmo projecto para correr o serviço windows ou conseguir lançar como um projecto consola é usar uma flag de ambiente que nos indica se estamos a correr no contexto do visual studio ou não.
Para isso basta seguir este pequeno template e conseguimos correr o projecto com um F5 e fazer debug ao código ou então usar o InstallUtil e instalar o projecto como um serviço windows.
 public static int Main(string[] args)  
 {  
  if (!Environment.UserInteractive)  
  {  
   // Startup as service.  
  }  
  else  
  {  
   // Startup as application  
  }  
 }  
Fonte: Easier way to start debugging a windows service in C#
No comments:
Post a Comment