Service recovery with Util:ServiceConfig
Windows allows you to set actions to be taken if your service fails at some point while it's running. Your three options are: try to restart the service, run an executable file or script, or reboot the machine. You can see these settings in the services management console by viewing the Properties of your service and clicking the Recovery tab.
First, let's alter the original Windows service that we created by changing the WriteToLog
function so that it throws an error the third time it prints a message. As this error is uncaught, it will cause the service to stop running. This will give the failure recovery actions a chance to kick in. Here is the new code for WriteToLog
:
protected void WriteToLog() { int count = 0; while (true) { count++; if (count >= 3) { throw new Exception("Service failed."); } string appDataDir = Environment.GetFolderPath( Environment.SpecialFolder.CommonApplicationData...