Ho un servizio Windows che analizza una cartella ogni n secondi per le modifiche. Sto ottenendo "il servizio non ha risposto al comando di avvio in modo tempestivo" quando si tenta di avviarlo.Servizi Windows: ciclo OnStart: devo delegare?
Ho un ciclo di partire in OnStart in questo modo:
public void OnStart(string[] args)
{
while (!_shouldExit)
{
//Do Stuff
//Repeat
Thread.Sleep(_scanIntervalMillis);
}
}
E 'questo che causa l'errore? Devo delegare questo metodo?
Cosa succede al thread quando il servizio viene terminato? – JSideris
@Bizorke se intendi terminato bruscamente: viene semplicemente ucciso a metà del flusso, come quando termina qualsiasi processo. Se intendi "fermato", allora: qualunque cosa il tuo codice gli dica di fare –
@MarcGravell C'è uno specifico che worke.IsBackground è falso? quindi che il thread è un thread in primo piano? – Thomas