C# 如何在asp.net中将多个web服务调用放在一个事务下

C# 如何在asp.net中将多个web服务调用放在一个事务下,c#,web-services,asp.net-mvc-4,transactions,distributed-transactions,C#,Web Services,Asp.net Mvc 4,Transactions,Distributed Transactions,我正在开发一个asp.net应用程序,它有一个注册模块。为了完成这个注册过程,我们正在进行三个不同的第三方web服务调用(这些服务是Rest和SOAP)。这些服务在各自的系统中执行一些CRUD操作。当这些调用成功后,我们最终在用户表中创建一个数据库条目。所有这些都发生在从UI单击一个按钮的过程中 注册过程: WebService1(); WebService2(); WebService3(); UpdateDatabase() 现在我需要将所有这些调用放在一个事务中,这样,如果任何一个操作失败

我正在开发一个asp.net应用程序,它有一个注册模块。为了完成这个注册过程,我们正在进行三个不同的第三方web服务调用(这些服务是Rest和SOAP)。这些服务在各自的系统中执行一些CRUD操作。当这些调用成功后,我们最终在用户表中创建一个数据库条目。所有这些都发生在从UI单击一个按钮的过程中 注册过程: WebService1(); WebService2(); WebService3(); UpdateDatabase()

现在我需要将所有这些调用放在一个事务中,这样,如果任何一个操作失败,那么之前的所有操作都应该回滚,以保持所有系统的一致性


那么做的程序是什么呢。我听说过MSDTC,但它如何能够回滚在其他第三方系统上执行的操作

上述线程的可能重复并没有解释在这些服务是第三方服务的场景中跨多个web服务调用实现分布式转换的过程