我想调用一个 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
}
根据我的示例代码,如果通过网络服务插入的数据和网络服务返回成功但我无法将记录插入另一个城市的远程数据库中,将会发生什么情况。 连接松动之类的东西。
我该怎么办?我可以在这里使用 System.transaction 命名空间吗? 我正在自己编写 Web 服务代码。
请您参考如下方法:
如果两台服务器都在运行分布式事务处理协调器 (MSDTC),那么是的,分布式事务是可能的。
A TransactionScope事务将使用 DTC 自动升级。
但是,您应该考虑其中的含义:跨服务器长时间运行的事务可能是不可取的。此外,还有安全和防火墙方面的考虑。
