【问题标题】:Is it a good practice to implement Transactions in the Business Layer在业务层中实现事务是一种好习惯吗
【发布时间】:2011-11-15 07:13:54
【问题描述】:

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

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

谢谢

索尼

【问题讨论】:

    标签: architecture layered


    【解决方案1】:

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

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

    【讨论】:

    • 每个业务调用一个数据层调用。我将把事务保存在数据层中。谢谢
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2012-05-14
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      相关资源
      最近更新 更多