激活远程对象
本主题介绍一项传统技术,保留该技术是为了向后兼容现有的应用程序,不建议对新的开发使用该技术。现在应该使用 Windows Communication Foundation (WCF) 来开发分布式应用程序。
引用封送对象有两种激活方式:
服务器激活。
服务器只有在需要时才会创建服务器激活的对象。此类对象并不是在通过调用 new 或 Activator.GetObject 创建客户端代理时创建的,而是在客户端首次对新创建的代理对象调用方法时创建的。有关详细信息,请参见服务器激活。
使用 WellKnownObjectMode enumeration 可将服务器激活的对象配置为 Singleton 或 SingleCall 对象。Singleton 对象是指将始终只存在一个实例(不论存在多少客户端)且具有默认生存期的对象。(客户端可以使用生存期租约系统参与 Singleton 实例的生存期。有关详细信息,请参见生存期租约。)在将对象配置为 SingleCall 对象时,系统会为每个客户端方法调用创建一个新对象。由于客户端在每次调用时都会获得对一个新实例的引用,因此 SingleCall 类型并不参与生存期租约系统。
客户端激活。
当客户端调用 new 或 Activator.CreateInstance 时,将在服务器上创建客户端激活的对象。客户端本身可以使用生存期租约系统参与这些实例的生存期。有关详细信息,请参见客户端激活和生存期租约。