GetObject
或 new
可用于服务器激活对象。请注意,使用这两个调用时不会实例化对象,实际上不会生成任何网络调用。框架从元数据获得了创建代理所需的足够信息,但并未连接到远程对象上。只有在客户端调用代理上的某个方法时才会建立网络连接。当调用抵达服务器时,框架将从消息中提取 URI,检查远程处理框架表以便定位与 URI 匹配的对象引用,然后在必要时将对象实例化,并将方法调用转发至对象。如果将对象注册为 SingleCall
,则完成方法调用后该对象会取消。每次调用一个方法时,都会创建一个新的实例。GetObject
和 new
之间的唯一差别在于,前者允许指定 URL 作为参数,而后者从配置中获得 URL。 CreateInstance
或 new
可用于客户端激活对象。两者都允许使用带参数的构造函数来实例化对象。客户端激活对象的生存期由远程处理框架提供的租用服务控制。对象租用的内容在下一节中说明。