public RobotWorker() { QueueSumplelingRate = Convert.ToInt32(ConfigurationManager.AppSettings["QueueSumplelingRate"]); if (QueueSumplelingRate == 0) { throw new NullReferenceException("AppSettings QueueSumplelingRate is null"); } Robot = new RobotWrapper(); Robot.RobotJobStatusChanged += OnRobot_RobotJobStatusChanged; //start StartReadingQueue loop in diferent Thread RunningThread = new Thread(_StartReadingQueue); RunningThread.IsBackground = true; }