|zyciis| 用WebService更新数据的时候如何保证数据库的数据完证性 谢谢 急 写得简单一点

zyciis70 2009-02-20 12:32:19
环境:
A网站有A数据库 用于用户在网上下订单
B服务器有B数据库,用于保存在和个地区的订单汇总

方法:

启动事务
if(本地更新)
{
如果本地更新成功,通过services更新b服务器
if(services更新成功)
返回更新成功信息,
根据服务器返回数据再提交本地更新
//在这里再次提交本地更新的时候,出错了,这时就会让本地回滚,但WebService已经提交了 怎么回滚?
else
本地回滚

}
else
{
不成功,则services不调用
}
...全文
186 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
milozy1983 2009-02-20
  • 打赏
  • 举报
回复
建张新表作为webservices的提交日志,然后根据日志做相应回滚。
我不懂电脑 2009-02-20
  • 打赏
  • 举报
回复
涉及到2个数据库这是分布式事务,需要COM+服务才能支持。
ZZJ_4Ever 2009-02-20
  • 打赏
  • 举报
回复
up
shalen520 2009-02-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zyciis71 的回复:]
RE:作为异常分支,记录或者标记一下,然后用其他方式如人工来处理
------------------------------------------------
记录下来,人工处理,好像不太现实啊
程序上就不能回滚掉刚才的WebService

谢谢
[/Quote]

可以在B上提供一个回滚的webservice,问题是,如果此时回滚服务器B也不成功怎么办?

这种分布式的事务,如果无法再同一个事务上下文中处理,那么就只能采用写日志/事务补偿等方式处理
冷月孤峰 2009-02-20
  • 打赏
  • 举报
回复
不在一个事务中没办法!
zyciis71 2009-02-20
  • 打赏
  • 举报
回复
RE:作为异常分支,记录或者标记一下,然后用其他方式如人工来处理
------------------------------------------------
记录下来,人工处理,好像不太现实啊
程序上就不能回滚掉刚才的WebService

谢谢
shalen520 2009-02-20
  • 打赏
  • 举报
回复
作为异常分支,记录或者标记一下,然后用其他方式如人工来处理
zyciis70 2009-02-20
  • 打赏
  • 举报
回复


RE
------------------------
楼上的两位看清楚我的问题啊
我的问题不是更新WebService出错怎么办,
我是说WebService成功后,再去更新本地,而本地这时个出错要回滚
那WebService那边已经提交的怎么回滚

谢谢


huguosheng_89412 2009-02-20
  • 打赏
  • 举报
回复
如果本地出现了错误,如何回滚服务器的呢?
try
{
根据服务器返回数据再提交本地更新
string isSuccess = MyServices(); //MyServices种启动事务处理,
if(!isSuccess )
{
本地回滚
}
}
catch
{
本地回滚
}
milozy1983 2009-02-20
  • 打赏
  • 举报
回复
在调用webservices的时候加个try catch用如下形式

bool isSuccess = true;
try
{
string result = MyServices();
}
catch
{
isSuccess = false;
}

if (isSuccess)
{
根据服务器返回数据再提交本地更新
}
else
{
本地回滚
}
内容概要:LTK8319是一款单通道H桥有刷直流电机驱动器,工作电压范围为2.5V至12V,支持最高3.9A的峰值电流和2.5A的平均电流驱动能力,适用于小家电、玩具、电子锁、机器人等小型电动设备。该芯片通过两个逻辑输入(INA和INB)控制电机的正转、反转、停止与刹车,并支持PWM调速控制。集成欠压锁定(UVLO)、过温保护(TSD)及自动故障恢复功能,确保系统安全可靠运行。当INA和INB持续为低电平时,芯片进入低功耗休眠模式,显著降低静态功耗。采用ESOP-8封装,符合环保无铅标准。; 适合人群:电子工程师、嵌入式系统开发者、电机控制技术人员,以及从事小型机电产品研发的设计人员;具备基本电路知识和电机控制经验者更佳。; 使用场景及目标:①用于驱动小型有刷直流电机或步进电机的一个绕组,实现精确的方向与速度控制;②适用于电池供电设备中对功耗敏感的应用,利用休眠模式延长续航时间;③在电机启停频繁、负载波动大的场合,发挥其电流控制与保护机制优势,提升系统稳定性。; 阅读建议:此文档提供了详细的电气特性、功能逻辑表、保护机制与时序参数,建议结合典型应用电路进行硬件设计,并重点关注电源去耦电容选型、散热布局及PWM频率设置(不超过100kHz),以确保系统可靠运行。
内容概要:本文研究了一种基于遗传算法(GA)与粒子群优化算法(PSO)融合的无人机三维路径规划方法,旨在解决复杂环境中无人机避障与路径优化的问题。通过构建三维空间环境模型,提出一种结合GA全局搜索能力强与PSO收敛速度快优势的混合优化策略,并利用Matlab平台完成算法仿真与路径可视化。研究不仅实现了无人机在存在多个障碍物场景下的安全、高效飞行路径规划,还对GA与PSO两种算法在路径长度、计算耗时、收敛稳定性等方面进行了对比分析,评估其性能差异,为实际应用中算法选型提供依据。; 适合人群:具备一定算法设计基础和Matlab编程能力的科研人员、自动化与人工智能方向的研究生,以及从事无人机导航、智能控制等相关领域的工程技术人员。; 使用场景及目标:①应用于城市密集建筑区、山地森林等复杂地形中的无人机自主巡检与应救援任务;②为智能交通、地理测绘、灾害监测等需要自主路径决策的无人系统提供算法支持与仿真验证;③通过对比不同智能优化算法的表现,辅助研究人员在特定应用场景下选择最优路径规划方案。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实验,调整种群规模、迭代次数、障碍物分布等参数,深入理解算法运行机制与性能表现,并可进一步拓展至动态环境更新、多无人机协同避障等更复杂的研究方向。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧