protected void ReportFailed(string message) { if (!Aborted) { WorkStatus = WorkStatusType.wsCompleted; WorkResult = WorkResultType.wrFailed; if (WorkFinished != null) { WorkFinished(this, WorkFinishedEventArgs.FailedArgs(ID, message)); } _aborted = true; //Make sure all further operations are canceled. } }