远程执行是C#中一种使开发人员能够使用远程对象的基础架构。远程对象是一种位于调用者应用域之外的对象
摘要
远程执行是C#中一种使开发人员能够使用远程对象的基础架构。远程对象是一种位于调用者应用域之外的对象。本文中的例子说明了如何使用二种远程对象访问机制(值传递和地址传递),它还通过一个简单的、功能强大的任务服务器的实现说明了分布式计算中远程对象的强大功能。
任务服务器能够接受所有能实现ITask界面的对象,并在其应用域中运行这些对象。更为重要的是,它能够一次从多个客户端接受任务。
在学习完本篇文章后,读者将能够:
━━建立服务器/客户端对象之间的连接。
━━按值传递对象。
━━按地址传递对象。
━━理解远程任务分配的概念。
远程对象
远程对象通过地址传递对象或者通过对象的值传递对象。
在第一种情况下,对象的地址由应用域A传递到应用域B,但对象的方法调用在应用域A和应用域B之间。对象在应用域A中存在和运行,但在应用域B中也象是个本地的对象。
在第二种情况下,整个对象及其附属的实体(被称作对象图表)被串行化成字节的形式,并从应用域A被传送到应用域B。然后,对象在应用域B被“反串行化”并恢复到原来的状态。现在,对象就在应用域B上存在和运行了。