Внести последние изменения в базу данных после сбоя / прекращения работы программы? - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть приложение, в котором пользователь может работать с файлом, загруженным из базы данных.При загрузке файла в запрос к базе данных запускается установка значения «владелец» в соответствующей строке таблицы.В результате другие пользователи видят, что файл принадлежит кому-то другому, и могут только читать из него, но не изменять его.После рабочего сеанса пользователь сохраняет файл в базе данных и устанавливает «владелец» в значение «none», позволяя другим пользователям получать доступ к файлу.Это работает до тех пор, пока приложение не выйдет из строя или не возникнет нехватка питания или какая-либо ошибка в системе, которая завершает работу приложения, оставляя записи базы данных «зарезервированными».В случае сбоя я могу воспользоваться следующим подходом: Глобальный обработчик исключений WPF и попытаться подключиться к базе данных, чтобы "освободить" все файлы, зарезервированные пользователем, но в других случаях, как показали мои исследования, нет способа, какзнать, что произошел сбой программы, и я должен "освободить" базу данных, чтобы другие пользователи могли получить доступ к ранее зарезервированным файлам.Это способ показать другим пользователям, что что-то в базе данных недоступно для редактирования - это вообще плохой дизайн или есть решения для этого типа проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...