Это хорошая практика для реализации транзакций на бизнес-уровне?
-
29-10-2019 - |
Вопрос
Мы планируем реализовать транзакции в нашем веб-приложении ASP.NET.Его трехуровневая архитектура. Мы вызываем веб-службы из бизнес-уровня и планируем реализовать транзакции в веб-службе, установив атрибут TransactionOPtion.
Что касается уровня данных, это хороший вариант для реализации транзакций на уровне данных или мне следует вызывать его из бизнес-уровня. Если я начну транзакцию с бизнес-уровня, я считаю, что нам нужно будет передать контекст транзакции на уровень данных, что, по моему мнению, не имеет смысла, поскольку я могу начать транзакцию в самом Datalyer.Я не разговариваю с разными базами данных, и у меня нет нескольких вызовов методов из BusinessLayer.Поэтому я не думаю, что в этом контексте нам нужны транзакции на бизнес-уровне. Не могли бы вы подтвердить / исправить мое понимание?
Спасибо
Сони
Решение
Если у вас есть несколько вызовов уровня данных от одного вызова до бизнес-уровня, я не верю, что вы можете избежать повышения области транзакции до бизнес-уровня.
Если вы ограничиваете себя одним вызовом уровня данных для каждого вызова бизнес-уровня, то, конечно, вам не нужны транзакции уровня бизнес-уровня, и вы можете хранить их только на своем уровне данных.
Другие советы
Отследить транзакции будет непросто.
Ответственность за открытие и закрытие транзакций перейдет на бизнес-уровень.
-> Связь между слоями будет намного больше, чем вы ожидаете при вызове веб-службы.