Мой графический интерфейс WPF 4.0 (С#.Net 4.0) с графическим интерфейсом работает с базой данных SQL Server. Каждый раз, когда я запускаю свое приложение, он создает соединение с SQL Server через ADO.NET Entity Framework, и если SQL Server недоступен, он генерирует исключение и показывает MessageBox с уведомлением.
Теперь я хочу, чтобы после того, как пользователь прочитал это сообщение, приложение закроется. Я нашел три способа сделать это:
Process.GetCurrentProcess().Kill();
или
this.Shutdown(); // Application.Current.Shutdown()
или
System.Environment.Exit(0);
Все они работают нормально и делают то, что мне нужно - закрыть приложение и убить процесс приложения в диспетчере задач Windows.
Я хочу знать:
- В чем разница между ними?
- Какой способ быстрее закроет мое приложение?
- Какой способ закрыть приложение следует использовать?
- Является ли
Application.Current.Shutdown()
иthis.Shutdown()
тем же способом закрыть приложение?
Или, может быть, есть еще один, более подходящий способ закрыть приложение WPF GUI?
Application.Exit()
не работает для меня, поскольку я получаю ошибку:
Событие '
System.Windows.Application.Exit
' может отображаться только в левой части + = или - =
Спасибо.