一、术语
1.远程对象:运行在服务器上的对象。
2.信道:用于客户机和服务器之间的通信(TCP/HTTP)。包括客户机的信道部分和服务器的信道部分。
3.消息:为客户机和服务器之间的通信而创建,被发送道信道中。
4.格式标识符:用于定义消息如何传输到信道中(soap/二进制)
5.格式标识符提供程序:用于把格式标识符于信道联系起来。
6.代理对象:客户机调用代理对象的方法。分透明的代理对象和真实的代理对象。
7.消息接收器:一个截取器对象,简称接收器。与信道联系。特使接收器、服务器环境接收器,对象环境接收器。
8.激活器:客户机使用激活器在服务器上创建远程对象,或者获取一个被服务器激活的对象的代理对象。
9.RemotingConfiguration类:用于配置远程服务器和客户机的一个实用类。
10.ChannelServices类:用于注册信道并把消息分派到信道中。
二、.net remoting 实现流程
―――――――――――――――――――――客户机――――――――――――――――――――――
1.客户机调用透明代理上的方法
(通过反射机制从装配件读取元数据,透明代理可以知道关于公有方法的信息)
2.透明代理对象调用真实代理对象
真实代理负责把消息发送到通道中。
3.真实代理查找特使接收器的集合(或链),并且把消息传递给第一个特使接收器
4.最后一个特使接收器把消息发送到通道中。
5.通道负责连接到服务器上的监听套接口上,或者负责发送已格式化的数据。
――――――――――――――――――――――――――――――服务器――――――――――――――――――――――――――――――
6.通道接受来自客户机的已格式化消息,用格式标识符解组消息中的SOAP或二进制数据。
7.调用服务器环境接受器(一个接受器链),最后一个接收器调用对象环境接受器链,
8.最后一个对象环境接受器调用远程对象上的方法。