Это хорошая практика для реализации транзакций на бизнес-уровне?

StackOverflow https://stackoverflow.com/questions/7387613

  •  29-10-2019
  •  | 
  •  

Вопрос

Мы планируем реализовать транзакции в нашем веб-приложении ASP.NET.Его трехуровневая архитектура. Мы вызываем веб-службы из бизнес-уровня и планируем реализовать транзакции в веб-службе, установив атрибут TransactionOPtion.

Что касается уровня данных, это хороший вариант для реализации транзакций на уровне данных или мне следует вызывать его из бизнес-уровня. Если я начну транзакцию с бизнес-уровня, я считаю, что нам нужно будет передать контекст транзакции на уровень данных, что, по моему мнению, не имеет смысла, поскольку я могу начать транзакцию в самом Datalyer.Я не разговариваю с разными базами данных, и у меня нет нескольких вызовов методов из BusinessLayer.Поэтому я не думаю, что в этом контексте нам нужны транзакции на бизнес-уровне. Не могли бы вы подтвердить / исправить мое понимание?

Спасибо

Сони

Это было полезно?

Решение

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

Если вы ограничиваете себя одним вызовом уровня данных для каждого вызова бизнес-уровня, то, конечно, вам не нужны транзакции уровня бизнес-уровня, и вы можете хранить их только на своем уровне данных.

Другие советы

Отследить транзакции будет непросто.
Ответственность за открытие и закрытие транзакций перейдет на бизнес-уровень.
-> Связь между слоями будет намного больше, чем вы ожидаете при вызове веб-службы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top