我想调用一个Web服务在它的数据库中插入一条记录,然后,如果Web服务成功完成该操作,那么我想在另一个城市的远程数据库中插入一条记录。

这是一个简化的示例代码:

IdentificationSystem.Service Identify = new IdentificationSystem.Service();
        string result= Identify.InsertWorkshopInfo(BosWorkshop.WpSvUserName, BosWorkshop.WpSvPassword,BosWorkshop.WkIcode,BosWorkshop.WpName)

if (result==0)//If success
 {
   Connect to a remote database and then insert a record
}


根据我的示例代码,如果通过Web服务插入的数据和Web服务返回的成功返回成功,但是我无法将记录插入另一个城市的远程数据库中,将会发生什么。
连接松动之类的东西。

我该怎么办?我可以在这里使用System.transaction name space吗?
我正在编写自己的Web服务代码。

最佳答案

如果两个服务器都在运行分布式事务处理协调器(MSDTC),则可以,可以进行分布式事务处理。

TransactionScope事务将使用DTC自动升级。

但是,您应该考虑其含义:跨服务器长时间运行的事务可能是不希望的。此外,还有安全性和防火墙注意事项。

关于c# - Web服务和数据库之间是否可以进行交易?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6640538/

10-12 12:44
查看更多