问一个关于remoting的问题!关于NET 远程处理对象及.NET 远程处理提供的激活模型!望高手指教!
MH2o 2003-12-31 10:38:12 最近看来关于remoting的相关文章其中看到了关于.NET 远程处理对象的一段介绍如下(msnd上的):
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”的调用都为服务器类型的独立实例返回一个代理。
又看到如下一段介绍:
没有基础框架支持的情况下管理远程对象的生存期常常会很麻烦。.NET 远程处理提供了许多激活模型以供选择。这些模型分为两类:
客户端激活的对象
服务器激活的对象
现小弟有几个问题想问,客户端激活的对象和服务器激活的对象的区别(最好能有例子),能不能对Single Call和Singleton做详细的讲解(他们是不是属于服务器激活的对象呢?最好也能有例子)小弟说的不是很明白望高手给予指教,我的msn:mh2o88@hotmail.com小弟这里先谢了!