【问题标题】:What is the difference between CAO and SAO in Remoting?远程处理中的 CAO 和 SAO 有什么区别?
【发布时间】:2012-03-21 06:00:42
【问题描述】:
Remoting 中 CAO(Client-activated objects ) 和 SAO(Server-activated objects) 有什么区别?
希望有一些好的答案来清除引用差异。欢迎任何链接或解释。
我已经对此进行了谷歌搜索,但也没有太多好的答案。
【问题讨论】:
标签:
c#
.net
object
remoting
【解决方案1】:
远程类的实例可以由服务器或客户端激活。
客户端激活对象会在客户端调用 New 或 Activator 对象后立即在服务器上创建。
(基本上,每个客户端激活的远程类实例都与特定客户端具有 1:1 映射关系。每个客户端都拥有自己的远程类实例。)
服务器激活对象仅在客户端通过本地代理调用第一种方法时由服务器创建。
(服务器激活的对象可以声明为 Singleton 或 SingleCall 对象。Singleton 对象只有一个实例来服务所有可能的客户端。SingleCall 对象要求每个传入调用都由一个新实例提供服务。 em>)
请查看以下有关远程处理的 2002 MSDN 杂志。但正如@John Saunders 所建议的那样,您应该更好地使用 WCF。在 WCF 中,您无需学习 webservices、remoting 或 messaging 通信的不同技术。这些都在 WCF 的保护伞下。
http://msdn.microsoft.com/en-us/magazine/cc188927.aspx#S6