您的位置:首页 > 其它

关于轻便事务控制的思考

2004-04-09 22:35 537 查看
[Transaction]
class A{
[AutoComplete]
void x(){
new B().y();
}
}
[Transaction]
class B{
[AutoComplete]
vlid y();
}

事务传递是在方法间的,y()中怎么知道其上层调用中的事务呢?
思路1:
FrameStack是方法调用的层次关系,顺藤摸瓜,找到最近的一个有事务的方法,它所在的事务就是需要的.问题是怎么得到那个方法的事务?方法间除了显式的参数,有没有别的方法向后代方法传递信息?

思路2:
Context.Remoting中的Context是指一个上下文,比如远程客户端激活的一个对象.Context是在其整个生存周期存在的,而且服务器端方法中再激活的任何对象,都属于同一个上下文.利用ContextBoundObject可以轻松达到这个效果.如果要不同的对象有自己的事务要求(Required/Disabled...),则要求每个对象有自己的上下文.有没有更简单的方案呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: