远程处理中的 CAO(客户端激活的对象)和 SAO(服务器激活的对象)有什么区别?
希望通过引用差异来澄清一些好的答案。欢迎任何链接或解释。 我已经用谷歌搜索了这个,但也没有很多好的答案。
答案 0 :(得分:2)
远程类的实例可以由服务器或客户端激活。
一旦客户端调用New或Activator对象,就会在服务器上创建客户端激活的对象。
(基本上,每个客户端激活的远程类实例都与特定客户端进行1:1映射。每个客户端都拥有自己的远程类个人实例。)
仅当客户端通过本地代理调用第一种方法时,服务器才会创建服务器激活的对象。
(服务器激活的对象可以声明为Singleton或SingleCall对象.Singleton对象只有一个实例可以为所有可能的客户端提供服务.LinteCall对象要求每个传入呼叫由新实例提供服务。)
请查看以下2002年MSDN杂志有关远程处理的信息。但正如@John Saunders所建议的那样,你应该更好地使用WCF。在WCF中,您无需为网络服务,远程处理或消息传递通信学习不同的技术。这些都在WCF的保护下。