与ASP.net WEB API进行交易

use*_*864 6 .net transactions asp.net-web-api

我知道ASP.NET WEB API是为了帮助实现基于REST的轻量级应用程序而构建的.但是,我需要我的REST服务是事务性/成为事务的一部分.我试着四处寻找,但看起来没有办法将WEB API作为客户启动的事务的一部分.有没有办法做到这一点?

关于Jagadish

Pau*_*ner 12

如果你控制电线的两端,就可以达到你想要的效果.

TransactionInterop类的存在是为了利用MS DTC为处理进程边界之间的事务提供支持.

它包含两个对您的场景感兴趣的方法:

您可以使用客户端中的第一种方法生成事务.您可以将其设置为自定义标头值或cookie,以将其传递给您的服务.在服务上,您可以使用第二种方法在本地创建事务.

对此的主要警告是需要在客户端和服务器上启用和配置MS DTC.只有在Windows Active Directory域中调用您的服务时,才能真正实现这一点.


Mar*_* N. 4

我相信您指的是分布式事务(通过 MSDTC),它可以跨服务边界传播。

然而,通过 WCF RESTful 服务进行分布式事务是不可能的,因为根本没有办法通过普通 HTTP 请求传播和管理事务状态。

您可能想要研究通过 HTTP (wsHttpBinding) 或 TCP/IP (net.tcp) 的普通 WCF 服务,甚至查看WCF 数据服务