Я сделал консольное приложение Windows в C#, которое делает некоторые вычисления. Окно приложения невидимо для пользователя, приложение запускается как задача.Как предотвратить закрытие приложения перед завершением задачи?
Эти расчеты сохраняются в базе данных. К сожалению, если пользователь закрывает это приложение во время сохранения данных (путем выключения компьютера), и не все данные будут сохранены, мои вычисления не будут иметь смысла.
Так что я ищу способ предотвратить немедленное закрытие приложения. Есть ли способы сделать это?
Собственно, вы должны помнить, что пользователь всегда имеет право решать, когда закрыть программу. Возможно, вы должны добавить «поле сбоя» где-нибудь в начале вычислений и удалить его в конце, поэтому, когда вы проверяете, если он установлен, вы можете предположить, что данные повреждены. – Desaroll
Я думаю, вы не можете запретить пользователю отключать компьютер. (может быть, вы можете, но это не очень хорошая идея имо). возможно, если вы сохраните прогресс на диске, поэтому каждый раз, когда вы знаете, где вы находитесь. –
Вы можете запретить запуск приложения, но вы должны дать пользователю выбор. Если они попытаются закрыть его и он все еще работает, попросите их подтвердить, что они действительно хотят выйти. Если они все еще хотят уйти, используйте предложение @ Desaroll, и эта задача никогда не будет отмечена как завершенная. – gmiley