关于Web Service超时后的数据同步问题
期望的运行流程如下:
一个Web程序(aspx页面的)用户点击一个按钮,然后做一些数据库数据更新,接着调用WebService1,WebService1会更新另一个数据库里的一些数据,执行完后返回结果给Web程序,Web程序会更新WebService1的执行结果,再更新一些数据的状态(如果WebService1执行成功则更新数据,如果失败,则回滚所有数据库操作)
现在出现的问题:
如果WebService1超时的话,Web程序负责的数据会因为超时错误(等待超时),全部回滚;而WebService1则正常执行(只是执行时间过长,导致Web程序等待超时),所以更新了它所对应的数据。因此导致了数据的不同步。
以上情况并非程序错误,而是由于网络原因,服务器负载等问题,可能随机出现。
请问有什么好的解决方法吗?除了把超时时间设得尽量长外,还有没有更完美的解决方案。
至于说更新硬件环境来解决这种方法,暂时先排除在外,优先考虑软件方法解决。