什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式 。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的代码就不能访问另一进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用程序域,与另外的应用程序域进行通信,即穿越边界。
在Remoting中是通过通道(channel)来实现两个应用程序域之间对象的通信的。首先,客户端通过Remoting,访问通道以获得服务端对象,再通过代理解析为客户端对象。这就提供一种可能性,即以服务的方式来发布服务器对象。远程对象代码可以运行在服务器上(如服务器激活的对象和客户端激活的对象),然后客户端再通过Remoting连接服务器,获得该服务对象并通过序列化在客户端运行。
在Remoting中,对于要传递的对象,设计者除了需要了解通道的类型和端口号之外,无需再了解数据包的格式。但必须注意的是,客户端在获取服务器端对象时,并不是获得实际的服务端对象,而是获得它的引用。这既保证了客户端和服务器端有关对象的松散耦合,同时也优化了通信的性能。
文章下载地址:http://files.cnblogs.com/xia520pi/C_Sharp_Remoting.rar
文章的目录:
1.1、版权声明... 2
1.2、内容详情... 2
1.2.1 .Net Remoting基础... 2
1.2.2 Marshal、Disconnect与生命周期以及跟踪服务... 17
1.2.3 Remoting事件处理全接触... 25
1.2.4 关于Remoting. 43
1.2.5 关于Remoting(续)... 53
1.2.6 关于Remoting一些更改... 57
1.2.7 Remoting的几个疑惑... 59
1.2.8 Remoting疑惑续集... 60
1.2.9 Remoting疑惑续集之再续... 62
1.2.10基于消息与.Net Remoting的分布式处理架构... 66
1.2.11 .Net Remoting测试小技巧... 78
1.2.12 .NET Remoting中的通道注册... 80
1.2.13在Remoting客户端激活用替换类以分离接口与实现... 81
2.1、版权声明... 84
2.2、内容详情... 84
2.2.1 一步一步学Remoting之一:从简单开始... 84
2.2.2 一步一步学Remoting之二:激活模式... 87
2.2.3 一步一步学Remoting之三:复杂对象... 92
2.2.4 一步一步学Remoting之四:承载方式(1)... 97
2.2.5 一步一步学Remoting之四:承载方式(2)... 101
2.2.6 一步一步学Remoting之五:异步操作... 105
2.2.7 一步一步学Remoting之六:事件(1)... 110
2.2.8 一步一步学Remoting之六:事件(2)... 117
3.1、版权声明... 123
3.2、内容详情... 123
3.2.1 Remoting基本原理及其扩展机制(上)... 123
3.2.2 Remoting基本原理及其扩展机制(中)... 128
3.2.3 Remoting基本原理及其扩展机制(下)... 134