租用过期后,租用管理器将通知所有租用负责人,询问他们是否要更新租用。如果不更新,将释放相关的对象引用。负责人是可以为远程对象更新租用的对象。要成为负责人,您的类必须从 MarshalByRefObject 中导出并实现 ISponsor 接口。一个租用可以有多个负责人,一个负责人也可以参与多个租用。如果租约已经过期,客户端还调用对象上的方法,就会出现异常。如果客户端要继续使用租用对象,那么就需要续约。续约的方法有3种:1)隐式续约:当客户调用远程对象上的方法时,租约的隐式续借会自动进行。2)显示续约:通过ILease接口的Renew()方法完成。通过调用透明代理对象的GetLifeService()方法,就可以使用ILease接口。3)发起租约:客户可以创建一个实现ISponsor接口的发起者,并使用ILease接口的Register()方法在租约服务中注册这个发起者。发起者定义租约延长的时间。当租约到期时,发起者就要求延长租约时间。如果长期租约服务器上的远程对象,可以使用这个发起租约机制。下面的代码显示了默认的租约信息,配置文件和服务器端代码如同<<Remoting系列(二)>>.客户端代码如下:
运行工程,显示结果如下:
posted on 2006-07-23 18:54 Ring 阅读(602) 评论(0) 编辑 收藏 网摘 所属分类: B .Net 开发
Powered by: 博客园 Copyright © Ring