2013-12-04 6 views
0

У меня есть основное настольное приложение vb.net, а также поддерживаются приложения основного приложения. Я хочу, чтобы какое-либо исключение возникало в любой момент времени, тогда вся заявка будет завершена, но сначала откат всех транзакций. Никакие данные не должны быть потеряны. Есть ли выход для этого. Я не хочу использовать транзакцию в каждом методе.Транзакция на уровне приложения

ответ

0

Если вы хотите расширить свою логику за рамки базы данных, вы должны использовать шаблон проектирования. Например, если вы хотите, чтобы одно действие выполнялось в файловой системе и в двух базах одновременно, все в одной и той же «транзакции», тогда вам нужно использовать более широкий «транзакционный» смысл. Затем вы можете отменить всю транзакцию, включая работу, выполняемую как в базах данных, так и в файловой системе. Эта концепция называется так называемым «Единица работы».

Просто, чтобы быть ясным, это не делается автоматически. Это не похоже на транзакцию, обрабатываемую SQL Server или любой другой СУБД. Для реализации такой логики я бы предложил использовать Unit of Work design pattern.

Надеюсь, я помог!

Смежные вопросы