Я создаю службу Windows с .NET 4.0.
У меня есть различные необработанные исключения, заданные в Задачи, но они не завершают мой процесс, поскольку состояния документации MSDN (Parallel Tasks - см. Unobserved Task Исключения).
"Если вы не дадите ошибочной задаче возможность распространения ее исключения (например, вызывая метод Wait), время выполнения эскалировать задачу незаметными исключениями в соответствии с текущими .NET, когда задача собирает мусор."
Он ведет себя так, даже когда я использую самую простое вызов задачи:
Task.Factory.StartNew(() => { throw new Exception(); }
Служба продолжает работать нормально, когда она вызывается.
В соответствии с документами финализатор Задачи будет отменять исключение, если Задача GC'd, но это, похоже, не происходит. MSDN неоднократно заявляет, что нормальная "политика исключений .NET" приводит к завершению процесса.
Почему это не прекращает мое приложение? Единственное, что я могу подумать, - это как-то ссылка на заданную задачу (это лямбда?)