我试图获取有关WCF交易的一些信息,我确实设法获得有关如何使用它们的信息。我没有获得太多信息是为什么/什么时候使用它们。 数据库事务和WCF事务之间有什么区别?当这些方法中的任何一种优于另一种方法时,是否存在任何特定情况?
答案 0 :(得分:0)
通过 WCF事务您真正要问的是Microsoft实施的WS-AtomicTransaction Web服务扩展标准。
为何/何时使用
与使用数据库事务来保证数据库内的一致性类似,WS-AtomicTransaction用于保证基于SOAP 1.2服务的通信,在更大的分布式系统中保持一致性。这个分布式系统可能包括也可能不包括数据库写入,但通常会这样做。
从客户端传播到服务的事务将导致服务的内部代码在客户端事务的上下文中执行。
因此,以同样的方式,数据库事务可以将多个数据库写入包装到单个工作单元中,WCF事务可以将多个服务调用包装到单个工作单元中,这样一个故障就会回滚其他工作单元
从资源的角度来看,这是非常昂贵的,因此除非绝对必要,否则很少(如果有的话)使用这些类型的跨网络事务。