【IT168技术文档】
介绍
Microsoft® .NET 远程处理为在不同的 AppDomains、不同的进程和不同的计算机中活动的对象提供了丰富而广泛的框架,使其相互之间能够进行畅通无阻的通讯。.NET 远程处理提供了使得这些交互变得透明的既非常强大又十分简单的编程模型和运行库支持。在本文中,我们将了解远程处理结构的不同构造块,并还将探索一些可利用 .NET 远程处理的常见方案。有关 .NET 远程处理的概述,请先参阅文章 Microsoft .NET 远程处理:技术概述。
.NET 远程处理对象
有三种对象类型在经过配置之后可以用作 .NET 远程对象。可根据应用程序的要求来选择对象的类型。本节详细解释下列对象:
Single Call
Single Call 对象向一个并且仅向一个传入的请求提供服务。Single Call 对象在需要对象做有限数量的工作的方案中很有用。通常不需要 Single Call 对象存储状态信息,并且它们不能保存方法调用之间的状态信息。不过,可以以负载平衡的方式来配置Single Call 对象。
Singleton 对象
Singleton 对象是那些服务多个客户端并且因此通过存储客户端调用之间的状态信息来共享数据的对象。当需要在客户端之间显式共享数据时,以及当创建和维护对象的系统开销相当大时,这些对象很有用。
Client Activated 对象 (CAO)
Client Activated 对象 (CAO) 是根据来自客户端的请求激活的服务器端对象。这种激活服务器对象的方式与传统的 COM coclass 激活方式十分相似。当客户端使用“new”运算符提交对服务器对象的请求时,会向远程应用程序发送激活请求消息。然后服务器就会创建被请求的类的实例,并且将 ObjRef 返回到调用它的客户端应用程序。然后使用该 ObjRef 在客户端创建一个代理。将在该代理上执行客户端的方法调用。Client Activated 对象可为其特定客户端存储方法调用之间的状态信息,而不跨越不同的客户端对象。每次对“new”的调用都为服务器类型的独立实例返回一个代理。
| 第1页: 第1页 |