Example #1
0
 public void ExecuteState(WorkerState state)
 {
     if (null == state)
     {
         return;
     }
     try
     {
         state.StateComplete += OnStateComplete;
         state.Execute();
     }
     catch (Exception ex)
     {
         var errormsg = string.Format(@"--- {3} Exception caught at ExecuteState, the error was:{2}{0}, stack trace:{2}{1}",
                                      null != ex.InnerException ? ex.InnerException.Message : ex.Message,
                                      ex.StackTrace,
                                      Environment.NewLine,
                                      EnvironmentInfo);
         if (null != _logger)
         {
             _logger.Error(errormsg);
         }
     }
     finally
     {
         if (null != state)
         {
             state.StateComplete -= OnStateComplete;
         }
     }
 }