I’ve got a windows service which scans a folder every n seconds for changes. I’m getting ‘the service did not respond to the start command in a timely fashion’ when trying to start it up.
I’ve got a loop setting off in OnStart like so:
public void OnStart(string[] args) { while (!_shouldExit) { //Do Stuff //Repeat Thread.Sleep(_scanIntervalMillis); } }
Is this what is causing the error? Should I delegate this method?
OnStart should only start the work; it isn’t responsible for doing it. This typically means spawning a new thread to do the actual work. It is expected that OnStart completes promptly. For example: