private ServiceHost()
 {
     HostHealthy      = false;
     RunningAsService = false;
     AppDomain.CurrentDomain.UnhandledException += threadExceptionHandler;
     try
     {
         mEngine     = new ReconciliationEngine();
         HostHealthy = true;
     }
     catch (Exception ex)
     {
         log.FatalException("Could not initialize components.", ex);
     }
 }
 public void RestartService()
 {
     if (!HostHealthy)
     {
         throw new ApplicationException("Did not initialize components.");
     }
     try
     {
         log.Info("Stopping service components...");
         mEngine.Stop();
         mEngine.Dispose();
         log.Info("Starting service components...");
         mEngine = new ReconciliationEngine();
         mEngine.Start();
     }
     catch (Exception ex)
     {
         log.FatalException("Could not restart components.", ex);
         HostHealthy = false;
     }
 }