System.Runtime.Remoting.Lifetime 命名空间
System.Runtime.Remoting.Lifetime 命名空间包含管理远程对象生存期的类。
传统上,分布式垃圾回收使用引用计数和 Ping 来控制对象的生存期。当每个服务只有少数客户端时,这将会很好地工作,但当每个服务有成千上万个客户端时,将无法很好地扩展。远程处理生存期服务将每个服务与租约关联起来,并在服务的租约时间到期时删除该服务。生存期服务可以采用传统的分布式垃圾回收器的功能,并且当每个服务的客户端数目增加时将很好地进行调整。
每个应用程序域都包含一个租约管理器,负责控制其域内的租约。对所有租约都要进行定期检查以确定租约时间是否到期。如果某个租约已经到期,将调用该租约的一个或多个主办方,并向它们提供续订该租约的机会。如果没有主办方决定续订该租约,租约管理器将移除该租约,然后垃圾回收器就可以回收该对象。租约管理器维护一个按剩余租约时间排序的租约列表。剩余时间最短的租约被存储在该列表的顶部。
类
类 | 说明 | |
---|---|---|
ClientSponsor | 为生存期主办方类提供默认实现。 | |
LifetimeServices | 控制 .NET 远程处理生存期服务。 |
接口
接口 | 说明 | |
---|---|---|
ILease | 定义远程处理生存期服务所使用的生存期租约对象。 | |
ISponsor | 指示该实施者希望成为生存期租约主办方。 |
枚举
枚举 | 说明 | |
---|---|---|
LeaseState | 指示生存期租约可能具有的租约状态。 |