Программа WPF 4.0 (C # .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
'появляются только в левой части + = или - =
Спасибо.