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

来到数据层,是在数据层中实现事务的好选择还是我应该从业务层调用它。 如果我从业务层开始事务,我相信我们需要将事务上下文传递给数据层,对我来说这是没有意义的,因为我可以在Datalyer本身中开始事务。我不是在与其他数据库交谈,也没有从BusinessLayer调用多个方法。因此,在这种情况下,我认为我们不需要在业务层中进行事务处理。 您能验证/纠正我的理解吗?

谢谢

索尼尼

有帮助吗?

解决方案

如果从一次调用到业务层有多个对数据层的调用,我认为您不能避免将事务范围扩大到业务层。

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

其他提示

跟踪交易不会很容易。
打开和关闭交易的责任将移至业务层。
->层之间的耦合将远远超过调用Web服务时的预期。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top