Это продолжение моего начального вопроса, и я хотел бы представить свои выводы и запросить исправления, идеи и идеи. Мои выводы (или, скорее, интерпретации) исходят от ответов людей на мой предыдущий вопрос, читая документацию MSDN.NET 3.5 и отлаживая код .NET 3.5. Надеюсь, это будет полезно для тех, кто задавался вопросом, как я обнаруживаю, когда приложение прекращается.
События:
-  
System.AppDomain.CurrentDomain.ProcessExit: повышается, когда процесс завершается, например. после по умолчаниюAppDomainи все остальное было выгружено [Общее время выполнения ограничено всего 3 секунды!]. Для WPF используйтеSystem.Windows.Application.Exitвместо этого. Для Windows Forms запустите код послеApplication.Run(...)в основном методе. -  
System.AppDomain.CurrentDomain.DomainUnload: поднят, когдаAppDomainотличается от по умолчаниюAppDomainвыгружает, например. при запуске классов с модульными модулями тестирования (MbUnit с TestDriven.NET). -  
System.AppDomain.CurrentDomain.UnhandledException: (если обрабатывается по умолчаниюAppDomain:), поднятый для любого необработанного исключения в любом потоке, независимо от того, какойAppDomainбыл запущен поток. Это означает, что это можно использовать как catch -все для всех необработанных исключений. -  
System.Windows.Application.Exit: поднят, когда приложение WPF (т.е. по умолчаниюAppDomain) выходит изящно. ПереопределитеSystem.Windows.Application.OnExit, чтобы воспользоваться им. -  
Финализаторы (деструкторы в С#): запускаются, когда сборщик мусора освобождает неуправляемые ресурсы. [Общее время выполнения ограничено!].
 
Порядок событий:
Приложение WPF: изящный выход
-  
System.Windows.Application.Exit -  
System.AppDomain.CurrentDomain.ProcessExit - Финализаторы
 
Приложение WPF: необработанное исключение
-  
System.AppDomain.CurrentDomain.UnhandledException 
MbUnit работает внутри TestDriven.NET: прошел тест (изящный выход)
-  
System.AppDomain.CurrentDomain.DomainUnload - Финализаторы
 
MbUnit работает внутри TestDriven.NET: сбой теста (необработанные исключения обрабатываются MbUnit)
-  
AppDomain.CurrentDomain.DomainUnload - Финализаторы
 
Вопросы:
- Являются ли мои интерпретации/выводы правильными?
 - Знаете ли вы более подробную информацию о том, что у меня есть опущены? Например. какова общая сумма время выполнения для финализаторов?
 - Знаете ли вы о других событиях/ идеи, о которых я знаю?
 - Какие события существуют и какой порядок они поднимают в других приложениях, например. Windows Forms, веб-сервис, веб-сайт ASP.NET и т.д.