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