Task.Factory.StartNew не выполняет задачу при развертывании

У меня есть некоторый код, который работает, как и ожидалось, когда я его устанавливаю / запускаю на своем собственном компьютере, Windows 7, но когда я запускаю его на других серверах (2003 и 2008), это не так. Код взят из библиотеки .NET4 WCF Service, которую я использую в службе Windows. Вот оно, упрощенно.

public void monitorQueueAndDoStuff() {
  MonitorRetryQueue();
  MonitorMainQueue();                
}

private void MonitorMainQueue() {
  Log.Info("MonitorMainQueue called");
  Task.Factory.StartNew(() =>
  {
    Log.Info("new thread monitoring queue");
    // ...NMS stuff

        while (!stopped) {
          ITextMessage mess = null;
            mess = blockingMessageCollection.Take();
            sendToQueue(mess);
        }
      }
    }
  });
}


private void MonitorRetryQueue() {
  Task.Factory.StartNew(() =>
  {
    //...NMS stuff
        consumer.Listener += new MessageListener(OnRetryErrorMessage);
        Log.Info("new thread monitoring second queue");

        //need to be constantly up for the consumer to hang around
        while (!stopped) {
          Thread.Sleep(1000);
        }
      }
    }
      });
}

Потоки должны войти в циклы, чтобы сделать некоторую работу. Основной блок блокируется на BlockingCollection. Теперь он создает обе задачи, но входит только во вторую, он никогда не печатает & quot; новую очередь мониторинга потоков & quot; в журнале. Я не могу понять, почему нет. Я пробовал удаленную отладку, но так как она никогда не входит в код, я не смог ничего увидеть.

Я не нашел ничего, что могло бы изменить поведение кода на развернутом сервере. У кого-нибудь есть подсказка? Какие-либо настройки в проекте Visual Studio?

Ответы на вопрос(3)

Ваш ответ на вопрос