In verità ho una nuova versione suggeritami da un utente di un altro forum, che funziona anche se nessuno dei 2 ha piena cognizione dei motivi..
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
fs.Close();
}
// scatta ogni 60 secondi (ora 10)
private void timerSchedulazioni_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
StreamWriter myWriter = new StreamWriter(File.Open(_percorso, FileMode.Append, FileAccess.Write));
// aggiorno il contatore
_conta++;
// scrivo il contatore
myWriter.WriteLine(System.DateTime.Now.ToShortTimeString() + " - " + _conta);
myWriter.Flush();
// chiudo il writer
myWriter.Close();
if (_conta >= 4)
{
timerSchedulazioni.Stop();
//this.Stop();
}
}
1. sinceramente non capisco perchè ma così scrive veramente il file ogni 10 secondi.. mi piacerebbe sapere come mai prima non funzionava in previsione di costruire un servizio davvero utile
2. ho visto che se uso timer.Stop() la scrittura ovviamente si interrompe, se invece uso this.Stop() non succede nulla mentre pensavo che il servizio si stoppasse..
secondo te?
grazie