Pourquoi exception non gérée dans un thread d'arrière-plan ne marche pas planter le domaine de l'application?

Je suis complètement perplexe. J'étais tellement persuadé que .NET ferme l'ensemble du domaine d'application s'il est uncaught exception dans un sujet que je n'ai jamais testé cette.

Cependant, je viens d'essayer le code suivant et il ne s'agit pas... quelqu'un Pourrait-il expliquer pourquoi?

(Essayé .NET 4 et 3.5)

static void Main(string[] args)
{
    Console.WriteLine("Main thread {0}", Thread.CurrentThread.ManagedThreadId);

    Action a = new Action(() =>
    {
        Console.WriteLine("Background thread {0}", Thread.CurrentThread.ManagedThreadId);

        throw new ApplicationException("test exception");
    });

    a.BeginInvoke(null, null);

    Console.ReadLine();
}

OriginalL'auteur Boppity Bop | 2011-06-24