private void start() { started = true; try { Utilities.WriteLog("MessageLog has been started..."); int i = 0; while (true) { using (TREntities entitiesModel = new TREntities()) { entitiesModel.Database.Connection.Open(); var list = entitiesModel.fsp_MessageLogUnprocessedList(1000, 0).ToList(); foreach (var rowItem in list) { var messageLogId = rowItem.MessageLogId; var messageText = rowItem.InputMessageText; ProcessMessageLogRow(messageLogId, messageText, entitiesModel); } Thread.Sleep(sleepMs); if (i == 10) { Utilities.WriteLog("MessageLog has been scanned 10 times..."); i = 0; } else { i++; } } } } catch (Exception ex) { var message = String.Format(@"Message Log Exception {0};", ex.Message); Utilities.WriteLog(message); started = false; } }