我想调用一个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/