远程对象的激活

引用封送对象有两种激活方式:

  • 服务器激活。

    服务器激活对象只有在需要用到它们时才会由服务器创建。它们不是在通过调用 new 或 Activator.GetObject 创建客户端代理时创建,而是在客户端调用该代理上的第一个方法时创建。有关详细信息,请参见服务器激活

    您可以使用 WellKnownObjectMode 枚举将服务器激活的对象配置为 Singleton 或 SingleCall 对象。Singleton 对象是这样的对象:无论该对象有多少个客户端,总是只有一个实例,且该对象具有默认的生存期。(客户端可以使用生存期租约系统来参与 Singleton 实例的生存期。有关详细信息,请参见生存期租约。)当您将对象配置为 SingleCall 对象时,系统将为每个客户端方法调用创建一个新对象。由于客户端将在每次调用时获取对新实例的引用,因此 SingleCall 类型不会参与生存期租约系统。

  • 客户端激活。

    当客户端调用 new 或 Activator.CreateInstance 时,将在服务器上创建客户端激活的对象。使用生存期租约系统,客户端本身可以参与这些实例的生存期。有关详细信息,请参见客户端激活生存期租约

请参见

任务

如何:创建客户端激活的类型的实例

概念

服务器激活
客户端激活

其他资源

对象激活和生存期
可远程处理的对象