学习System.Time.Remoting命名空间
LzmTW 1/11/2005
http://blog.youkuaiyun.com/lzmtw
目的:
摘要学习本命名空间部分内容,掌握关键细节,解决目前程序中存在的一些技术问题。
外来参考者阅读本文应注意:
本人基本概念浅薄,也不会依常规的概念来表达自己的思想,以下内容仅是自己的理解。错误多多,慎读,切切。
关联内容:
System.MarshalByRefObject类
System.Runtime.Remoting.Lifetime.LifetimeServices类
Ø System.Runtime.Remoting命名空间
一、 功能
提供创建和配置分布式应用程序的类和接口。
二、 本命名空间提供的内容
类 | 说明 |
ActivatedClientTypeEntry | 将在客户端注册的对象类型的值保存为可以在服务器上激活的类型。 |
ActivatedServiceTypeEntry | 将在服务端注册的对象类型的值保存为可以应客户端请求激活的类型。 |
ObjectHandle | 包装按值封送对象引用,从而使它们可以通过间接寻址返回。 |
ObjRef | 存储生成代理以与远程对象通讯所需的所有相关信息。 |
RemotingConfiguration | 提供多种配置远程处理结构的静态方法。 |
RemotingException | 在远程处理过程中出现错误时引发的异常。 |
RemotingServices | 提供多种使用和发布远程对象及代理的方法。无法继承此类。 |
RemotingTimeoutException | 在以前指定的某个时期内无法到达服务器或客户端时引发的异常。 |
ServerException | 当客户端连接无法引发异常的非 .NET Framework 应用程序时,为向客户端传达错误而引发的异常。 |
SoapServices | 提供若干使用和发布 SOAP 格式的远程对象的方法。 |
TypeEntry | 实现保存用来激活远程类型实例的配置信息的基类。 |
WellKnownClientTypeEntry | 将在客户端注册的对象类型的值保存为服务器激活类型(单个调用或 singleton)。 |
WellKnownServiceTypeEntry | 将在服务端注册的对象类型的值保存为服务器激活类型对象(单个调用或 singleton)。 |
接口 | 说明 |
IChannelInfo | 提供与 ObjRef 一起传送的自定义信道信息。 |
IEnvoyInfo | 提供代表信息。 |
IObjectHandle | 定义用于从间接寻址打开按值封送对象的接口。 |
IRemotingTypeInfo | 提供对象的类型信息。 |
枚举 | 说明 |
定义如何激活已知对象。 |
Ø System.MarshalByRefObject类
一、 功能
允许在支持远程处理的应用程序中跨应用程序域边界访问对象。
MarshalByRefObject对象在本地应用程序域的边界内可直接访问。远程应用程序域中的应用程序首次访问MarshalByRefObject时,会向远程应用程序传递代理。对该代理后面的调用将封送回驻留在本地应用程序域中的对象。
二、 关键细节
主要方法 | 说明 |
CreateObjRef | 创建一个对象,该对象包含生成用于与远程对象进行通讯的代理所需要的全部相关信息。 |
GetLifetimeService | 检索控制此实例的生存期策略的当前生存期服务对象。 |
InitializeLifetimeService | 获取控制此实例的生存期策略的生存期服务对象。 |
Ø System.Runtime.Remoting.Lifetime.LifetimeServices类
一、 功能
控制 .NET远程处理生存期服务。
二、 关键细节
主要属性 | 说明 |
LeaseManagerPollTime | 获取或设置每次激活租约管理器以清除到期租约之间的时间间隔。 |
LeaseTime | 获取或设置AppDomain的初始租约时间范围。 |
RenewOnCallTime | 获取或设置每当调用到达服务器对象时延续租约的时间 |
SponsorshipTimeout | 获取或设置租约管理器等待主办方返回租约续订时间的时间。 |