有关可能使用的主机和通道类型范围的详细信息以及比较信息,请参见本章后面的“选择一个主机进程” 。
图 1. .NET Remoting 体系结构
客户端与进程内的代理对象进行通信。可以通过远程对象代理设置身份验证凭证(例如,用户名、密码和证书等等)。方法调用通过接收链进行传递(您可以实现自己的自定义接收来执行数据加密),并到达负责通过网络发送数据的传输接收。在服务器端,调用通过相同的管道进行传递,并向对象发出调用。
注 本章中使用的术语“代理” 一词是指客户端进程内的代理对象,客户端通过该对象与远程对象进行通信。不要将它与术语“代理服务器”混淆。
Remoting 接收
当客户端在远程对象上进行方法调用时,.NET Remoting 使用传输通道接收、自定义通道接收和格式化程序通道接收。
传输通道接收
传输通道接收通过网络在客户端与服务器之间传递方法调用。.NET提供了 HttpChannel 和 TcpChannel 类,但是,可以对体系结构进行完全扩展,并且插入您自己的自定义实现方法。
◆ HttpChannel。在将远程对象驻留在 ASP.NET 中时,可以使用此通道。此通道使用 HTTP 协议在客户端和服务器之间发送消息。
◆ TcpChannel。在将远程对象驻留在 Microsoft? Windows? 操作系统服务或其他可执行文件中时,可以使用此通道。此通道使用 TCP 套接字在客户端和服务器之间发送消息。