He creado un servicio de Windows llamado ProxyMonitor y estoy actualmente en la etapa donde el servicio se instala y desinstala de la manera que lo deseo.Servicio de Windows para ejecutar constantemente
Así que ejecutar la aplicación, así:
C:\\Windows\\Vendor\\ProxyMonitor.exe /install
Bastante que se explica uno mismo, y luego llegué a services.msc
y e iniciar el servicio, pero cuando lo hago me sale el siguiente mensaje:
El Servicio de Monitor Proxy en la computadora local se inició y luego se detuvo. Algunos servicios se detienen automáticamente si no hay trabajo por hacer, por ejemplo, los registros y alertas de rendimiento Servicios
Mi código es el siguiente manera:
public static Main(string[] Args)
{
if (System.Environment.UserInteractive)
{
/*
* Here I have my install logic
*/
}
else
{
ServiceBase.Run(new ProxyMonitor());
}
}
y luego dentro de la clase ProxyMonitor tengo:
public ProxyMonitor()
{
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
running = true;
while (running)
{
//Execution Loop
}
}
y onStop()
Acabo de cambiar la variable running
a false
;
¿Qué necesitaría hacer para que el servicio activo constantemente, ya que tendría que ser el control de la red que necesito para rastrear los cambios etc.
Actualización: 1
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
Thread = new Thread(ThreadWorker);
Thread.Start();
}
Dentro del ThreadWorker
tengo ProxyEventLogger.WriteEntry("Main thread entered")
que no se dispara.
'Tema = new Thread (ThreadWorker)' no funcionará –
funciona perfectamente bien, ¿por qué pensaste que sería un fracaso? – RobertPitt