Прямо сейчас, когда пользователь хочет выйти из моего приложения, я делаю несколько вещей, которые у меня есть (т.е. отключаясь от сервера, сохраняя данные пользователя...), а затем я делаю следующее:
- Закройте все мои mainloops с помощью booleans
- прервать выполняемые потоки (как правило, поток опроса сервера)
- добрый вызов Application.Exit();
Это займет несколько секунд, чтобы выйти и не служит реальной цели (все уже сохранено на сервере, поэтому мне все равно, что там происходит)
Если я использую это вместо этого, я получил мгновенное завершение без недостатка, о котором я могу думать:
System.Diagnostics.Process.GetCurrentProcess().Kill();
Почему бы мне просто не закончить мой процесс и не позволить CLR удалить AppDomain?
Я знаю, что важно аккуратно распоряжаться вашими совместно используемыми ресурсами (обработчики файлов IO и т.д.), поэтому, пожалуйста, не отвечайте на это:)), но как только это будет сделано, есть ли настоящая причина для чистого выхода из моего приложения?