Remoting中CAO和SAO有什么区别?

时间:2012-03-21 06:00:42

标签: c# .net object remoting

远程处理中的 CAO(客户端激活的对象) SAO(服务器激活的对象)有什么区别?

希望通过引用差异来澄清一些好的答案。欢迎任何链接或解释。 我已经用谷歌搜索了这个,但也没有很多好的答案。

1 个答案:

答案 0 :(得分:2)

远程类的实例可以由服务器或客户端激活。

一旦客户端调用New或Activator对象,就会在服务器上创建

客户端激活的对象

基本上,每个客户端激活的远程类实例都与特定客户端进行1:1映射。每个客户端都拥有自己的远程类个人实例。

仅当客户端通过本地代理调用第一种方法时,服务器才会创建

服务器激活的对象

服务器激活的对象可以声明为Singleton或SingleCall对象.Singleton对象只有一个实例可以为所有可能的客户端提供服务.LinteCall对象要求每个传入呼叫由新实例提供服务。

请查看以下2002年MSDN杂志有关远程处理的信息。但正如@John Saunders所建议的那样,你应该更好地使用WCF。在WCF中,您无需为网络服务远程处理消息传递通信学习不同的技术。这些都在WCF的保护下。

http://msdn.microsoft.com/en-us/magazine/cc188927.aspx#S6