Wcf REST与SOAP的比较&没有';不支持事务?

Wcf REST与SOAP的比较&没有';不支持事务?,wcf,rest,soap,Wcf,Rest,Soap,我几乎没有在我的体系结构中将REST和SOAP的体系结构作为SOA进行研究。在比较两者时,我听说REST的一个缺点是它不支持“事务”——它们在说什么?因为从我可以看出,它确实支持来自底层HTTP协议GET、POST、DELETE等的CRUD操作 有人能详细说明一下吗?如果我选择REST,它能支持我的事务密集型CRUD操作工作区吗?还是我选择SOAP路径更好?您所指的事务类型是分布式事务。这允许客户机在服务器(甚至几个不同的服务器)上执行多个调用,并让它们全部提交或全部回滚 WCF通过WS-Ato

我几乎没有在我的体系结构中将REST和SOAP的体系结构作为SOA进行研究。在比较两者时,我听说REST的一个缺点是它不支持“事务”——它们在说什么?因为从我可以看出,它确实支持来自底层HTTP协议GET、POST、DELETE等的CRUD操作


有人能详细说明一下吗?如果我选择REST,它能支持我的事务密集型CRUD操作工作区吗?还是我选择SOAP路径更好?

您所指的事务类型是分布式事务。这允许客户机在服务器(甚至几个不同的服务器)上执行多个调用,并让它们全部提交或全部回滚

WCF通过WS-AtomicTransaction(WS-AT)协议支持分布式事务。该协议面向SOAP。因此,要使用WCF事务,必须使用SOAP,而不是REST


尽管您不会使用REST进行跨调用分布式事务,但仍然可以在特定方法中使用数据库事务。例如,您可以在该方法中的一个事务中实现提交订单并更新订单和订单行数据库表的POST操作。因此,仅仅因为您的应用程序是事务密集型的,并不一定意味着REST所面临的分布式事务在您的环境中很重要。

如果您需要跨多个调用执行事务,您最好不要选择其中任何一个,而选择远程处理或在wcf中执行二进制序列化之类的内容。REST和SOAP都是无状态的。连接打开,执行操作,然后再次关闭。这就是说,wcf确实通过SOAP支持事务性支持,因此,如果您必须在两者之间进行选择,那么请看一看。

昨天发给Roy Fielding的消息

我认为“休息事务”是一种 矛盾修饰法