Захват завершения процесса (диспетчер задач) в WPF - PullRequest
1 голос
/ 21 февраля 2011

У меня есть приложение WPF. Когда приложение закрывается, я выполняю какое-либо действие по обновлению / вставке в базу данных, которое является обязательным для моего приложения. Но если мое приложение принудительно закрывают, завершив процесс в диспетчере задач, я не могу выполнить операцию в базе данных.

Я делаю обновление / вставку записей в БД в событии «Выход» в «App.xaml.cs», это событие не запускается, когда приложение убивается в taskmanager. Поиском я обнаружил, что если процесс убит в Вкладка «Процесс» диспетчера задач, приложение закрывается немедленно, не дожидаясь ответа приложения.

Один из способов зафиксировать завершение процесса - запустить службу, которая проверяет этот процесс приложения.

Есть ли другой способ отловить завершение процесса в том же приложении, т. Е. Не запускать другую службу для проверки .?

Заранее спасибо ..

1 Ответ

0 голосов
/ 21 февраля 2011

TerminateProcess не дает вашему приложению возможности обнаружить завершение. Вам нужно внешнее приложение / служба, которая отслеживает, или, что еще лучше, вам нужно устранить причину, по которой ваши пользователи должны завершить процесс с помощью диспетчера задач.

...