2

我们正在考虑在我们的 ASP.NET Web 应用程序中实现事务。它是一个三层架构。我们从业务层调用 Web 服务,并计划通过设置 TransactionOPtion 属性在 Web 服务中实现事务。

来到数据层,在数据层实现事务是一个不错的选择,还是应该从业务层调用它。如果我从业务层启动事务,我相信我们需要将事务上下文传递给数据层,这在我看来没有意义,因为我可以在数据层本身中启动事务。我不是在与不同的数据库交谈,也没有来自 BusinessLayer 的多个方法调用。所以我认为在这种情况下我们不需要在业务层进行交易。您能否验证/纠正我的理解?

谢谢

索尼

4

2 回答 2

3

如果您从一次调用业务层到多次调用数据层,我认为您无法避免将事务范围提升到业务层。

如果您将自己限制为每个业务层调用一个数据层调用,那么当然,您不需要业务层级事务,您可以只将它们保留在您的数据层上。

于 2011-09-12T12:14:04.020 回答
0

它不会使跟踪交易变得容易。
打开和关闭交易的责任将转移到业务层。
-> 层之间的耦合将远远超出您调用 Web 服务时的预期。

于 2011-09-12T12:21:12.707 回答