请教思归大虾 ServiceCompont的问题!

ju_feng 2005-11-02 11:19:22
呵呵,今天看到思归大虾在线,想请教一个问题。

从ServiceCompont组件继承的一个方法 声明为事务
有两个数据库对象分别操作分布式数据库。
如果第一数据库操作对象操作成功,第二个操作失败。
在什么情况下,第一数据库操作对象和第二个数据库操作对象都回回滚
而在什么情况下 第一个数据库操作对象不回滚,而第二个操作对象也不回滚。
这个问题困扰了俺一段时间了。
我一直觉得都会回滚的啊!后来看了些COM+的分布式事务原理的资料也没有明白。
...全文
471 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
charles_y 2006-01-01
  • 打赏
  • 举报
回复
看了下思归的blog,在ASP.NET应用中,Com+注册确实是个问题。不知道设置pre-build和post-build有没有用。

还有ServiceConfig确实好用,但可惜的是只能用在Windows2003中,对于目前还有大量的人使用windows2000或者windowsXP,98,至少现在来说,应用起来有很多的限制。

s_topman 2006-01-01
  • 打赏
  • 举报
回复
学习ing
zeusvenus 2005-12-21
  • 打赏
  • 举报
回复
倚赖于对象使用的是否新事务,还是参加同一事务。前者都不rollback,后者全部rollback。
相关内容可以参见:

http://www.lc.leidenuniv.nl/awcourse/oracle/java.920/a96654/xadistra.htm

http://www.zahui.com/html/4/34865.htm

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcontransactionprocessingfundamentals.asp

http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpcontransactionsupportinaspnetwebservices.asp

http://www.linkingnow.com/docs/html/5512.html
saucer 2005-11-03
  • 打赏
  • 举报
回复
谁控制这事务?如果由这个ServiceCompont组件自动控制,你的数据库操作只是参加事务的话,如果其中之一失败,那么自然2者都会回滚

>>>第一数据库操作对象和第二个数据库操作对象都回回滚

参加同一事务

>>>而在什么情况下 第一个数据库操作对象不回滚,而第二个操作对象也不回滚。

用TransactionOption.RequiresNew参加不同的事务

你需要用不同的对象,每个对象都有不同的事务选项,参考我的blog里的资源
http://blog.joycode.com/saucer/archive/2005/01/05/42381.aspx

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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