I know this is already a asked question, but I have not found any solution. Here is my service.
class Program : ServiceBase { private Timer _timer; public Program() { ServiceName = "PrintTime"; } static void Main(string[] args) { Run(new Program()); } protected override void OnStart(string[] args) { base.OnStart(args); _timer = new Timer(5000); _timer.Elapsed += _timer_Elapsed; _timer.Start(); } void _timer_Elapsed(object sender, ElapsedEventArgs e) { WriteTimeToFile(); } protected override void OnStop() { _timer.Stop(); } private void WriteTimeToFile() { using (FileStream fs = new FileStream(@"d:\mylog.txt", FileMode.Append, FileAccess.ReadWrite)) { StreamWriter streamWriter = new StreamWriter(fs); streamWriter.Write(DateTime.Now.ToShortTimeString()); streamWriter.Close(); fs.Close(); } } }
As you can see, I want to write currentTime to my Mylog.txt file every 5 seconds, but nothing happens even after 2 minutes. If I put the WriteTimeToFile() function in the OnStart method, it works fine, but not in the timer.
Any help would be greatly appreciated.
source share